Pamięć jest zasobem krytycznym dla wydajności Redis. Używana pamięć definiuje całkowitą liczbę bajtów przydzielonych przez Redis przy użyciu jego alokatora (albo standardowego libc, jemalloc lub alternatywnego alokatora, takiego jak tcmalloc).
Możesz zebrać wszystkie metryki wykorzystania pamięci dla instancji Redis, uruchamiając „pamięć informacji”.
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
Czasami, gdy Redis jest skonfigurowany bez maksymalnego limitu pamięci, użycie pamięci w końcu osiągnie pamięć systemową, a serwer zacznie wyrzucać błędy „Out of Memory”. W innych przypadkach Redis jest skonfigurowany z maksymalnym limitem pamięci, ale z zasadami noeviction. Spowodowałoby to, że serwer nie eksmitowałby żadnych kluczy, uniemożliwiając w ten sposób wszelkie zapisy do czasu zwolnienia pamięci. Rozwiązaniem takich problemów byłoby skonfigurowanie Redisa z maksymalną pamięcią i pewną polityką eksmisji. W takim przypadku serwer zaczyna eksmitować klucze za pomocą zasad eksmisji, gdy wykorzystanie pamięci osiągnie maksimum.
Pamięć RSS (Resident Set Size) to liczba bajtów, które system operacyjny przydzielił Redis. Jeśli stosunek „memory_rss” do „memory_used” jest większy niż ~1,5, oznacza to fragmentację pamięci. Pofragmentowaną pamięć można odzyskać przez ponowne uruchomienie serwera.