Tipo de cadena de datos de Redis

El esposo Tao Gong ha vivido a 清风través de los siglos, y ¿quién se atreve a llamarlo hombre?
Inserte la descripción de la imagen aquí


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 incrementespecificar 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 valuese 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


未完待续,持续更新中...

Continuará, continuando actualizando ...

Supongo que te gusta

Origin blog.csdn.net/qq_43073558/article/details/113824058
Recomendado
Clasificación