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.
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ą:
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.
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.
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ą:
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.
Polityka lotna TTL usuwa klucze z czasem ważności, ale wybiera ten, który najkrótszy czas na życie.
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