sql >> Base de Datos >  >> NoSQL >> Redis

Requisitos de espacio de la estructura de datos de Redis

Es mucho más que su estimación. Supongamos que no se utilizan ziplists (es decir, tiene una cantidad significativa de artículos).

Una lista de Redis es una lista clásica de doble enlace:3 punteros (anterior, siguiente, valor) por elemento.

Un conjunto ordenado es un diccionario más una lista de saltos. En el diccionario, los elementos también se almacenarán con 3 punteros (clave, valor, siguiente). La huella de memoria de la lista de omisión es más compleja de evaluar:cada nodo toma 1 doble (puntuación), 2 punteros (obj, hacia atrás), más n parejas (puntero, valor de intervalo) con n entre 1 y 32. La mayoría de los elementos tomarán solo 1 o 2 parejas.

En otras palabras, cuando no se representa como una lista zip, un conjunto ordenado es, con mucho, la estructura de datos de Redis con la mayor sobrecarga. En comparación con una lista, la sobrecarga de memoria es superior al 200 % (es decir, 3 veces).

Nota:la mejor manera de evaluar el consumo de memoria con Redis es intentar crear una lista grande o un conjunto ordenado con pseudodatos y usar INFO para obtener el consumo de memoria.