Uso específico de los cinco tipos de datos de Redis

Todos sabemos que Redis admite 5 tipos de datos:

  • cadena cadena de caracteres (puede ser un número entero, punto flotante y cadena de caracteres, denominados colectivamente elementos)
  • hash (la clave del hash debe ser única)
  • lista lista (implementar la cola, el elemento no es único, el principio de primero en entrar, primero en salir)
  • colección de conjuntos (diferentes elementos)
  • zset (conjunto ordenado) conjunto ordenado

En mi proyecto real, solo usé el tipo String. Dado que el tipo string es binario seguro, significa que puede contener cualquier dato (objetos serializados e imágenes jpg). ¿Crees que el tipo String es suficiente?

Volviendo al tema, a continuación implementaré el almacenamiento de cada tipo de datos.

Cuerda

Visión general

  • String es el tipo más básico de redis. Puedes entenderlo exactamente como el mismo tipo que Memcached. Una clave corresponde a un valor.
  • El tipo de cadena es binario seguro. Esto significa que la cadena redis puede contener cualquier dato. Como imágenes jpg u objetos serializados.
  • El tipo de cadena es el tipo de datos más básico de Redis y el valor del tipo de cadena puede almacenar hasta 512 MB.

ejemplo:

jedis.set("test", "123");// 保存key为test,value为123的数据
jedis.get("test"); // 查看key为test的数据

Picadillo

Visión general

  • El hash de Redis es una colección de pares clave-valor (clave => valor).
  • El hash de Redis es una tabla de mapeo entre el campo y el valor del tipo de cadena, y el hash es particularmente adecuado para almacenar objetos.

ejemplo:

jedis.hset("test1","map1","value1");// 保存一个redis的key为test1,map的key为map1,value为value1的数据
jedis.hget("test1","map1"); // 获取redis下key为test1中map的key为map1的值

Lista

Visión general

  • La lista de Redis es una lista simple de cadenas, ordenadas en el orden de inserción. Puede agregar un elemento al principio (izquierda) o al final (derecha) de la lista.

ejemplo

jedis.lpush("test2","1");
jedis.lpush("test2","2");
String pop1 = jedis.lpop("test2");// 输出"2"
String pop2 = jedis.lpop("test2");// 输出"1"  // 说明是先进后出
jedis.lpush("test2","1");
jedis.lpush("test2","2");
List<String> tests2 = jedis.lrange("test2", 0, -1);// ["2","1"]

colocar

Visión general

  • El conjunto de Redis es una colección desordenada de tipo cadena.
  • La colección se implementa a través de una tabla hash, por lo que la complejidad de agregar, eliminar y buscar es O (1).

comando sadd

Agregue un elemento de cadena al conjunto correspondiente a la clave y devuelva 1 si tiene éxito, y devuelva 0 si el elemento ya está en el conjunto.

ejemplo

        // set类型
        jedis.sadd("test3","1","4","2");
        Set<String> test3 = jedis.smembers("test3");// 查看集合列表
        Long test31 = jedis.scard("test3");// 查看集合有多少条记录

zset (conjunto ordenado)

Visión general

  • Redis zset, como set, también es una colección de elementos de tipo cadena y no se permiten miembros duplicados.
  • La diferencia es que cada elemento está asociado con una puntuación de tipo doble. Redis usa puntajes para ordenar los miembros del conjunto de pequeños a grandes.
  • Los miembros de zset son únicos, pero la puntuación (puntuación) se puede repetir.

ejemplo

        // 保存一个key为test4的值,按score排序,默认从小到大排序        
        jedis.zadd("test4",1.0,"你好");
        jedis.zadd("test4",3.0,"你好3");
        jedis.zadd("test4",2.0,"你好2");
        Set<String> test4 = jedis.zrange("test4", 0, -1);

 

 

 

Supongo que te gusta

Origin blog.csdn.net/qq_43037478/article/details/112576002
Recomendado
Clasificación