Cinco tipos de datos

Redis admite cinco tipos de datos: cadena (cadena), hash (hash), lista (lista), conjunto (conjunto) y zset (conjunto ordenado).

① Introducción: String es el tipo de estructura de datos más básico de Redis. Es binario seguro y puede almacenar números, imágenes u objetos serializados. El valor máximo de almacenamiento es 512M.

Ejemplos de uso simples: establecer valores clave, obtener claves, etc.

Escenarios de aplicación: * *Disfruta de sesiones, bloqueos distribuidos, contadores y limitación de corriente.

② El tipo Hash significa que V (valor) en sí es una estructura de par clave-valor (k-v).

Ejemplo de uso simple: valor del campo clave hset, campo clave hget.

Codificación interna: lista de compresión, tabla hash

Escenarios de aplicación: almacenamiento en caché de información del usuario, etc.

③ La lista de Redis es una lista de cadenas simple, ordenada en orden de inserción. Puede agregar elementos al principio (izquierda) o al final (derecha) de la lista.

La lista doblemente enlazada subyacente puede agregar o eliminar elementos del principio o del final de la lista mediante operaciones push y pop, por lo que la lista se puede usar como una pila o cola.

Lpush lpop=Stack (stack)

Lpush rpop=Queue (cola)

④ El conjunto de Redis es un conjunto desordenado de tipo cadena. No contiene elementos duplicados

⑤ Redizset, al igual que set, es una colección de elementos de tipo cadena y no permite miembros duplicados. Sin embargo, un conjunto ordenado puede ordenar los miembros proporcionando una puntuación de parámetro adicional y se inserta en orden, es decir, se ordena automáticamente.

La colección Redisor utiliza ziplist o tabla Hop internamente, que combina skiplist y hashMap contiene la asignación de miembros a puntuaciones, y la tabla Hop contiene todos los miembros.

La lista de omisión agrega índices de varios niveles a la lista vinculada para mejorar la eficiencia de la búsqueda.

La lista de omisión admite la búsqueda de nodos con complejidad promedio O(logN) y O(N) en el peor de los casos, y también puede procesar nodos en lotes mediante operaciones secuenciales.