El esposo Tao Gong ha vivido a
清风
través de los siglos, y ¿quién se atreve a llamarlo hombre?
Directorio de artículos
Introducción
El tipo de cadena es el tipo de datos más básico en Redis. Puede almacenar cualquier forma de cadena, incluidos datos binarios. La capacidad máxima de una clave de tipo cadena es de 512 MB.
1. Comandos básicos
mando | Explicación |
---|---|
ESTABLECER valor de la clave | Establecer valor de campo |
Obtener la clave | Obtener valor de campo |
Clave INCR | Número de incremento |
1. Asignación y valor
Asignación: SET clave valor
valor: tecla GET
127.0.0.1:6379> set name breez
OK
127.0.0.1:6379> get name
"breez"
127.0.0.1:6379> get other
(nil)
127.0.0.1:6379>
Nota: Cuando la clave no existe, volverá vacía (nula)
práctica:Utilice Java para operar la base de datos de Redis:SET
Importar dependencias de maven:
<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.5.1</version>
</dependency>
@Test
public void testSTRING(){
Jedis jedis = new Jedis("127.0.0.1");
String s = jedis.set("name", "清风");
System.out.println("返回值:"+s);
String name = jedis.get("name");
System.out.println("name:"+name);
}
返回值:OK
name:清风
2. Incrementar el número
Clave INCR
Aumente el valor clave actual y devuelva el valor incrementado.
Ejemplo:
127.0.0.1:6379> incr num
(integer) 1
127.0.0.1:6379> incr num
(integer) 2
127.0.0.1:6379> incr num
(integer) 3
Si el valor de la clave no es un número entero, se solicitará un error
127.0.0.1:6379> set n str
OK
127.0.0.1:6379> incr n
(error) ERR value is not an integer or out of range
127.0.0.1:6379> set n2 1
OK
127.0.0.1:6379> incr n2
(integer) 2
127.0.0.1:6379> incr n2
(integer) 3
127.0.0.1:6379> incr n2
(integer) 4
127.0.0.1:6379>
De lo anteriornorteNo es un número entero, sino una cadena,n2Es un entero
práctica:Utilice Java para operar la base de datos de Redis:INCR
@Test
public void testINCR(){
Jedis jedis = new Jedis("127.0.0.1");
Long num1 = jedis.incr("num");
Long num2 = jedis.incr("num");
Long num3 = jedis.incr("num");
System.out.println("执行三次后的值:"+num3);
}
执行三次后的值:3
Segundo, comandos avanzados
mando | Explicación |
---|---|
Incremento de tecla INCRBY | Incrementa el entero especificado |
Tecla DECR | Disminuir entero |
Disminución de la tecla DECRBY | Disminuir el número entero especificado |
Incremento de la tecla INCRBYFLOAT | Aumentar el número de punto flotante especificado |
APENDER valor clave | Agregar valor al final |
Llave STRLEN | Obtener la longitud de la cuerda |
Tecla MGET [tecla ...] | Establecer varios valores clave al mismo tiempo |
Valor de la clave MSET [valor de la clave ...] | Obtenga el valor de varias claves al mismo tiempo |
GETBIT clave offest | Obtenga el número binario (0 o 1) correspondiente al número de bit especificado por la clave |
Valor estándar de la tecla SETBIT | Establecer el número binario (0 o 1) del número de bit especificado por la clave |
BITCOUNT clave [inicio] [final] | Cuente el rango de bytes especificado |
Tecla destkey de operación BITOP [tecla…] | Realizar operaciones de bits en varias claves de tipo cadena |
1. Incrementa el número entero especificado
Incremento de tecla INCRBY
El comando INCRBY es el mismo que el comando INCR. La diferencia es que el primero se puede utilizar para increment
especificar el valor que se va a aumentar a la vez.
Ejemplo:
127.0.0.1:6379> incrby num 2
(integer) 2
127.0.0.1:6379> incrby num 2
(integer) 4
127.0.0.1:6379> incrby num 2
(integer) 6
127.0.0.1:6379>
práctica:Utilice Java para operar la base de datos de Redis:INCRBY
@Test
public void testINCRBY(){
Jedis jedis = new Jedis("127.0.0.1");
jedis.incrBy("num",2);
jedis.incrBy("num",2);
Long num = jedis.incrBy("num", 2);
System.out.println("执行三次后的结果:"+num);
}
执行三次后的结果:6
2. Disminuye el número entero especificado.
Tecla
DECR Incremento de la tecla DECR
El uso es el mismo que el del comando INCR, excepto que el valor de la clave se reduce.
Ejemplo:
DECR
127.0.0.1:6379> set num 10
OK
127.0.0.1:6379> decr num
(integer) 9
127.0.0.1:6379> decr num
(integer) 8
127.0.0.1:6379> decr num
(integer) 7
práctica:Utilice Java para operar la base de datos de Redis:DECR
@Test
public void testDECR(){
Jedis jedis = new Jedis("127.0.0.1");
jedis.set("num","10");
System.out.println("初始值:"+jedis.get("num"));
jedis.decr("num");
jedis.decr("num");
Long num = jedis.decr("num");
System.out.println("递减3次后的值:"+num);
}
初始值:10
递减3次后的值:7
DECRBY
127.0.0.1:6379> set num 10
OK
127.0.0.1:6379> decrby num 3
(integer) 7
127.0.0.1:6379> decrby num 3
(integer) 4
127.0.0.1:6379> decrby num 3
(integer) 1
127.0.0.1:6379> decrby num 3
(integer) -2
práctica:Utilice Java para operar la base de datos de Redis:DECRBY
@Test
public void testDECRBY(){
Jedis jedis = new Jedis("127.0.0.1");
jedis.set("num","10");
System.out.println("初始值:"+jedis.get("num"));
jedis.decrBy("num",3);
jedis.decrBy("num",3);
Long num = jedis.decrBy("num", 3);
System.out.println("递减3次后的值:"+num);
}
初始值:10
递减3次后的值:1
3. Aumente el número de punto flotante especificado
Incremento de la tecla INCRBYFLOAT
Incrementar un número de punto flotante de doble precisión
127.0.0.1:6379> incrbyfloat num 2.6
"2.6"
127.0.0.1:6379> incrbyfloat num 2.6
"5.2"
127.0.0.1:6379> incrbyfloat num 2.6
"7.800000000000001"
127.0.0.1:6379> incrbyfloat num 2.6
"10.4"
práctica:Utilice Java para operar la base de datos de Redis:INCRBYFLOAT
@Test
public void testINCRBYFLOAT(){
Jedis jedis = new Jedis("127.0.0.1");
jedis.incrByFloat("num",2.6);
jedis.incrByFloat("num",2.6);
jedis.incrByFloat("num",2.6);
Double num = jedis.incrByFloat("num", 2.6);
System.out.println("递增4次后的结果:"+num);
}
递增4次后的结果:10.4
4. Agregar valor al final
APENDER valor clave
La función de este comando es agregar un valor al final de una clave. Si la clave no existe, el valor predeterminado value
se establece :, que es equivalente a establecer el valor de la clave, y el valor de retorno es la longitud total de la clave agregada. cuerda.
ejemplo:
127.0.0.1:6379> set key hello
OK
127.0.0.1:6379> append key world
(integer) 10
127.0.0.1:6379> get key
"helloworld"
127.0.0.1:6379> append key " breez"
(integer) 17
127.0.0.1:6379> get key
"helloworld breez"
注意
: Si necesita agregar espacios, debe agregar comillas dobles a la cadena
práctica:Utilice Java para operar la base de datos de Redis:APPEND
@Test
public void testAPPEND(){
Jedis jedis = new Jedis("127.0.0.1");
jedis.set("key","hello");
System.out.println("追加前:"+jedis.get("key"));
jedis.append("key","world");
System.out.println("追加后:"+jedis.get("key"));
}
追加前:hello
追加后:helloworld
5. Obtenga la longitud de la cuerda
Llave STRLEN
El comando STRLEN devuelve la longitud de la clave, o 0 si la clave no existe.
Ejemplo:
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> strlen key
(integer) 0
127.0.0.1:6379> set key breez
OK
127.0.0.1:6379> strlen key
(integer) 5
práctica:Utilice Java para operar la base de datos de Redis:STRLEN
@Test
public void testSTRLEN(){
Jedis jedis = new Jedis("127.0.0.1");
Set<String> keys = jedis.keys("*");
System.out.println("缓存中所有的键:");
System.out.println(keys);
jedis.set("key","breez");
String key = jedis.get("key");
Long strlen = jedis.strlen("key");
System.out.println(key+"的长度为:"+strlen);
}
缓存中所有的键:
[]
breez的长度为:5
6. Obtenga / configure varios valores clave al mismo tiempo
MGET
Tecla MGET [tecla ...]
MSET
Valor de la clave MSET [valor de la clave ...]
注意
: MGET / MSET es similar a GET / SET, pero el primero puede establecer el valor de clave de varias claves.
Ejemplo:
127.0.0.1:6379> mset name breez age 22 sex male
OK
127.0.0.1:6379> keys *
1) "sex"
2) "name"
3) "age"
127.0.0.1:6379> mget name age sex
1) "breez"
2) "22"
3) "male"
práctica:Utilice Java para operar la base de datos de Redis:MSETAndMGET
@Test
public void testMSETAndMGET(){
Jedis jedis = new Jedis("127.0.0.1");
jedis.mset(new String[]{
"name","breez","age","22","sex","male"});
List<String> mget = jedis.mget(new String[]{
"name","age","sex"});
System.out.println(mget);
}
[breez, 22, male]
7. Manipulación de bits
Desplazamiento de tecla
GETBIT Valor de
desplazamiento de tecla SETBIT Tecla BITCOUNT [inicio] [fin]
Operación BITOP tecla destkey [tecla…]
Sitio web oficial chino de Redis: http://www.redis.cn
未完待续,持续更新中...