La memoria è una risorsa fondamentale per le prestazioni di Redis. La memoria utilizzata definisce il numero totale di byte allocati da Redis utilizzando il suo allocatore (libc standard, jemalloc o un allocatore alternativo come tcmalloc).
Puoi raccogliere tutti i dati delle metriche di utilizzo della memoria per un'istanza Redis eseguendo "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
A volte, quando Redis è configurato senza limite di memoria massimo, l'utilizzo della memoria raggiungerà la memoria di sistema e il server inizierà a generare errori "Memoria insufficiente". Altre volte, Redis è configurato con un limite di memoria massimo ma con criteri di non eliminazione. Ciò farebbe sì che il server non elimini alcuna chiave, impedendo così qualsiasi scrittura fino a quando la memoria non viene liberata. La soluzione a tali problemi sarebbe la configurazione di Redis con memoria massima e alcuni criteri di sfratto. In questo caso, il server inizia a rimuovere le chiavi utilizzando la politica di rimozione poiché l'utilizzo della memoria raggiunge il massimo.
Memory RSS (Resident Set Size) è il numero di byte che il sistema operativo ha allocato a Redis. Se il rapporto tra "memory_rss" e "memory_used" è maggiore di ~1,5, significa frammentazione della memoria. La memoria frammentata può essere recuperata riavviando il server.