Redis Maxmemory Polies

Redis Maxmemory Polies
W tym artykule omówiono zasady Redis Maxmemory i sposób, w jaki możesz go używać jako pamięci podręcznej LRU.

Co to jest polityka eksmisji Redis?

Jak sama nazwa wskazuje, polityka eksmisji jest funkcją, która pozwala Redisowi „eksmitować” lub usuwać stare dane w miarę dodawania nowych danych. Jest to niesamowita funkcja przede wszystkim, gdy Redis jest używany jako system buforowania.

Dyrektywa Redis Maxmemory

W pliku konfiguracyjnym Redis dyrektywa o nazwie MaxMemory dyktuje ilość pamięci przydzielonej dla zestawu danych.

Chociaż możesz skonfigurować MaxMemory w czasie wykonywania za pomocą polecenia konfiguracyjnego, Redis.Plik CONF umożliwia ustawienie go w trybie trwałości.

Aby ustawić wartość MaxMemory w czasie wykonywania, zaloguj się do Redis CLI i wprowadź polecenie:

Zestaw konfiguracji MaxMemory 100

Powyższe polecenie ustawi wartość MaxMemory na 100 MB w czasie wykonywania. Możesz uzyskać bieżącą wartość ustawioną dla MaxMemory za pomocą polecenia:

127.0.0.1: 6379> Konfiguracja uzyskaj MaxMemory*

To powinno powrócić:

1) „Maxmemory-Policy”
2) „NoeViction”
3) „Maxmemory-Samples”
4) „5”
5) „Maxmemory”
6) „100”

Pierwszy to polityka eksmisji. To decyduje o tym, w jaki sposób dane są usuwane po osiągnięciu MaxMemory.

UWAGA: Ustawienie MaxMemory na 0 zapewnia żadne ograniczenia. W przypadku systemów 64 -bitowych jest to ustawione na domyślne. W 332-bitowych systemach Redis zużyje do 3 GB.

Jak działa proces eksmisji

Ale jak dokładnie działa ten proces eksmisji?

To dzieje się w 4 prostych krokach.

  1. Po pierwsze, klient uruchamia polecenie, aby dodać nowe dane.
  2. Przed wykonaniem polecenia Redis sprawdź, czy użycie pamięci jest wyższe niż SET MAXMEMORY Limit.
  3. Jeśli limit zostanie osiągnięty, wykorzystuje określone zasady eksmisji do usuwania kluczy.
  4. Na koniec polecenie jest wykonywane i dodaje się nowe dane.

Polityka eksmisji Redis

Wciąż wspominamy o zasadach eksmisji. Czym oni są i co robią?

Mówiąc prosto, polityka eksmisji ustanawia zasady dotyczące tego, w jaki sposób Redis ekscytuje klucz po osiągnięciu limitu pamięci.

Istnieją dwie kategorie zasad eksmisji w Redis.

Ogólne zasady eksmisji

Pierwsza kategoria to ogólne zasady eksmisji. Zasady te mają zastosowanie do dowolnego klucza, który nie ma wartości ważności.

Zawierają:

NoeViction

Ta polityka eksmisji mówi Redisowi, aby nie usuwa żadnych danych po osiągnięciu limitu pamięci. Zamiast tego Redis zwróci błąd i nie uruchomi polecenia Dodaj dane danych.

Niniejsza polityka ma mocno zastosowanie, gdy trzeba usunąć klucze ręcznie lub zapobiec przypadkowej utraty danych.

Allkeys-lru

Drugą polityką jest Allkeys-Lru. Tego rodzaju ekscytują zasady najdokrysowo używane klucz lub LRU.

Ta polityka zakłada, że ​​nie potrzebujesz niedawno używanych kluczy i eksmituje. Zapobiega wykluczeniu Redis w przypadku limitu pamięci.

Allkeys-Random

Niniejsza zasada usunie klucze w dowolnej losowej kolejności. Jest to doskonała zasada, gdy klucze w Twojej bazie danych mają równe znaczenie.

Zasady dotyczące eksmisji niestabilnych

Tego rodzaju zasady eksmisji opierają się na klawiszach z wartościami ważności. Zawierają:

Volatie-Random

Ta polityka eksmisji usuwa klucze o wartości ważności w dowolnej losowej kolejności. Jest podobny do polityki Allkeys-Random, z tym wyjątkiem, że usuwa tylko wygasłe klucze.

Lotny ttl

Polityka lotna TTL usuwa klucze z czasem ważności, ale wybiera ten, który najkrótszy czas na życie.

Lotny Lru

Podobne do lotnego-ttl, ale najpierw usuwa najczęściej używane klawisze.

Wniosek

To jest wprowadzenie do polityki Redis Maxmemory i eksmisji. Możesz dowiedzieć się więcej o zasadach eksmisji Redis w poniższym zasadzie.

https: // redis.IO/Tematy/LRU-Cache