La mémoire est une ressource essentielle pour les performances de Redis. La mémoire utilisée définit le nombre total d'octets alloués par Redis à l'aide de son allocation (libc standard, jemalloc ou un allocateur alternatif tel que tcmalloc).
Vous pouvez collecter toutes les données de métriques d'utilisation de la mémoire pour une instance Redis en exécutant "info memory".
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
Parfois, lorsque Redis est configuré sans limite de mémoire maximale, l'utilisation de la mémoire finira par atteindre la mémoire système et le serveur commencera à générer des erreurs "Out of Memory". À d'autres moments, Redis est configuré avec une limite de mémoire maximale mais aucune politique d'éviction. Cela empêcherait le serveur d'expulser les clés, empêchant ainsi toute écriture jusqu'à ce que la mémoire soit libérée. La solution à de tels problèmes serait de configurer Redis avec une mémoire maximale et une politique d'expulsion. Dans ce cas, le serveur commence à expulser les clés en utilisant la politique d'expulsion lorsque l'utilisation de la mémoire atteint le maximum.
La mémoire RSS (Resident Set Size) est le nombre d'octets que le système d'exploitation a alloués à Redis. Si le rapport entre "memory_rss" et "memory_used" est supérieur à ~1,5, cela signifie une fragmentation de la mémoire. La mémoire fragmentée peut être récupérée en redémarrant le serveur.