Hva er Redis Eviction Policy?
Som navnet antyder, er en utkastelsespolitikk en funksjon som lar Redis "kaste ut" eller fjerne gamle data når nye data blir lagt til. Dette er en utrolig funksjon først og fremst når Redis brukes som hurtigbufringssystem.
Redis MaxMemory -direktiv
I Redis -konfigurasjonsfilen dikterer et direktiv kalt MaxMemory mengden minne som er tildelt for et datasett.
Selv om du kan konfigurere MaxMemory på Runtime ved hjelp av Config Set -kommandoen, Redis.Conf -fil lar deg angi den i utholdenhetsmodus.
For å angi MaxMemory -verdien ved kjøretid, logg inn på Redis CLI og skriv inn kommandoen:
Config Set MaxMemory 100
Kommandoen over vil sette maxmemory -verdien til 100 MB ved kjøretid. Du kan få gjeldende settverdi for MaxMemory ved å bruke kommandoen:
127.0.0.1: 6379> Config Get MaxMemory*
Dette skulle komme tilbake:
1) "MaxMemory-Policy"
2) "NOEVICTION"
3) "MaxMemory-Sampples"
4) "5"
5) "MaxMemory"
6) "100"
Den første er utkastelsespolitikken. Dette dikterer hvordan dataene fjernes etter at MaxMemory er nådd.
Merk: Sette MaxMemory til 0 sikrer at det ikke er noen grenser. For 64bit -systemer er dette satt til standard. På 332-biters systemer vil Redis bruke opptil 3 GB.
Hvordan utkastelsesprosess fungerer
Men hvordan fungerer denne utkastelsesprosessen?
Det skjer i 4 enkle trinn.
Redis Eviction Policies
Vi nevner stadig utkastelsespolitikk. Hva er de, og hva gjør de?
Enkelt sagt setter en utkastelsespolitikk reglene for hvordan Redis kaster ut en nøkkel når minnegrensen er nådd.
Det er to kategorier av utkastelsespolitikk i Redis.
Generell utkastelsespolitikk
Den første kategorien er generell utkastelsespolitikk. Disse retningslinjene gjelder for enhver nøkkel som ikke har en utløpsverdi.
De inkluderer:
Denne utkastelsespolitikken forteller Redis om ikke å fjerne noen data når minnegrensen er nådd. I stedet vil Redis returnere en feil og ikke klarer å kjøre Data -kommandoen.
Denne policyen er sterkt anvendelig når du trenger å fjerne nøklene manuelt eller forhindre utilsiktet datatap.
Den andre policyen er Allkeys-lru. Denne typen policyer gir minst mulig brukt nøkkel eller LRU.
Denne policyen forutsetter at du ikke trenger de nylig brukte nøklene og sliter dem. Det forhindrer at Redis feiler ut i tilfelle en minnegrense.
Denne policyen vil fjerne nøklene i enhver tilfeldig rekkefølge. Dette er en utmerket policy når nøklene i databasen din er av like stor betydning.
Flytende utkastelsespolitikk
Disse typer utkastelsespolitikker er avhengige av nøkler med utløpsverdier. De inkluderer:
Denne utkastelsespolitikken fjerner nøkler med en utløpsverdi i enhver tilfeldig rekkefølge. Det ligner på Allkeys-tilfeldige policyer, bortsett fra at den bare fjerner utløpte nøkler.
Den flyktige TTL-policyen fjerner nøkler med utløpstid, men velger den med den korteste tiden til å leve først.
I likhet med flyktige-TTL, men fjerner de minst brukte nøklene først.
Konklusjon
Dette er en introduksjon til Redis MaxMemory and Eviction Policies. Du kan lære mer om Redis Eviction -regler i ressursen nedenfor.
https: // redis.IO/emner/LRU-cache