La memoria es un recurso fundamental para el rendimiento de Redis. La memoria utilizada define la cantidad total de bytes asignados por Redis utilizando su asignador (ya sea libc estándar, jemalloc o un asignador alternativo como tcmalloc).
Puede recopilar todos los datos de métricas de utilización de memoria para una instancia de Redis ejecutando "memoria de información".
127.0.0.1:6379> info memory
Memory
used_memory:1007280
used_memory_human:983.67K
used_memory_rss:2002944
used_memory_rss_human:1.91M
used_memory_peak:1008128
used_memory_peak_human:984.50K
A veces, cuando Redis está configurado sin límite máximo de memoria, uso de memoria finalmente alcanzará la memoria del sistema, y el servidor comenzará a lanzar “sin memoria” errores. En otros momentos, Redis está configurado con un límite máximo de memoria pero sin política de prevención. Esto haría que el servidor no desalojara ninguna clave, evitando así cualquier escritura hasta que se libere la memoria. La solución a tales problemas sería configurar Redis con memoria máxima y alguna política de desalojo. En este caso, el servidor comienza a desalojar las claves mediante la política de desalojo, ya que el uso de memoria alcanza el máximo.
Memoria RSS (Tamaño del conjunto residente) es el número de bytes que el sistema operativo ha asignado a Redis. Si la relación de 'memory_rss' a 'memory_used' es mayor que ~ 1.5, significa fragmentación de memoria. La memoria fragmentada se puede recuperar reiniciando el servidor.
Lea la descripción más detallada para supervisar el servidor redis here
Gracias. Veré las diferentes soluciones, particularmente usando el artículo sobre el uso de redis como un caché LRU (no lo he visto antes) – kozher