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

redis - Uso de hashes

Sí, está relacionado con la eficiencia.

Le preguntamos al siempre servicial Pieter Noordhuis, uno de los principales desarrolladores de Redis, y nos sugirió que usáramos hashes de Redis. Los hashes en Redis son diccionarios que se pueden codificar en la memoria de manera muy eficiente; la configuración de Redis 'hash-zipmap-max-entries' configura la cantidad máxima de entradas que puede tener un hash mientras aún se codifica de manera eficiente. Descubrimos que esta configuración era mejor alrededor de 1000; más alto y los comandos HSET causarían una actividad de CPU notable. Para obtener más detalles, puede consultar el archivo fuente zipmap.

Los hashes pequeños se codifican de una manera especial (zipmaps), que es eficiente en memoria, pero hace que las operaciones sean O(N) en lugar de O(1). Entonces, con un zipmap con 100k campos en lugar de 100 zipmaps con 1k campos no obtiene beneficios de memoria, pero todas sus operaciones se vuelven 100 veces más lentas.