-
maxmemory
Dyrektywa konfiguracyjna dyktuje maksymalną ilość pamięci, którą Redis powinien mieć możliwość wykorzystania dla danych użytkownika. Po ustawieniu na 0 (wartość domyślna), Redis przydzieli pamięć tak długo, jak pozwoli na to bazowy system operacyjny.used_memory
wartość zINFO
polecenie to rzeczywista pamięć zajęta przez dane użytkownika w momencie wywołania polecenia. Relacja między nimi (tak długo jakmaxmemory
is not 0) toused_memory
<=maxmemory
. -
serializedlength
wyprowadzane przezDEBUG OBJECT
to długość (rozmiar w bajtach) wartości przechowywanej pod tym kluczem podczas serializacji. Aby uzyskać rzeczywistą zserializowaną wartość, możesz użyćDUMP
Komenda. Zwróć uwagę, że serializowana długość nie zapewniają dokładną miarę rzeczywistej ilości pamięci używanej przez klucz ze względu na mnóstwo czynników, w tym kodowanie struktury danych i narzutów przez Redis.
Ogólnie, aby uzyskać oszacowanie dla Twojej maxmemory
ustawienia, spróbuj zapisać kilka setek (np. 1000) kluczy, które są reprezentatywne dla Twoich danych, sprawdź used_memory
następnie podziel wartość, a następnie pomnóż wynik przez liczbę oczekiwanych kluczy z bezpiecznym marginesem (np. co najmniej %10).