Cos'è la politica di sfratto di Redis?
Come suggerisce il nome, una politica di sfratto è una funzione che consente a Redis di "sfrattare" o rimuovere i vecchi dati man mano che vengono aggiunti nuovi dati. Questa è una caratteristica incredibile principalmente quando Redis viene utilizzato come sistema di memorizzazione nella cache.
Direttiva Redis MaxMemory
Nel file di configurazione Redis, una direttiva chiamata MaxMemory detta la quantità di memoria allocata per un set di dati.
Sebbene sia possibile configurare MaxMemory in fase di esecuzione utilizzando il comando di configurazione, il Redis.Il file conf consente di impostarlo in modalità persistenza.
Per impostare il valore MAXMemory in fase di esecuzione, accedi a Redis CLI e inserisci il comando:
config set maxmemory 100
Il comando sopra imposta il valore MaxMemory su 100 MB in fase di esecuzione. È possibile ottenere il valore di set di corrente per MaxMemory utilizzando il comando:
127.0.0.1: 6379> Config Ottieni MaxMemory*
Questo dovrebbe tornare:
1) "Maxmemory-Policy"
2) "Noeviction"
3) "Maxmemory-campioni"
4) "5"
5) "Maxmemory"
6) "100"
Il primo è la politica di sfratto. Ciò determina come i dati vengono rimossi dopo il raggiungimento di MaxMemory.
Nota: l'impostazione di MaxMemory su 0 garantisce che non ci siano limiti. Per i sistemi a 64 bit, questo è impostato su predefinito. Su sistemi a 332 bit, Redis utilizzerà fino a 3 GB.
Come funziona il processo di sfratto
Ma come funziona esattamente questo processo di sfratto?
Ciò accade in 4 semplici passaggi.
Politiche di sfratto di Redis
Continuiamo a menzionare le politiche di sfratto. Cosa sono e cosa fanno?
In termini semplici, una politica di sfratto stabilisce le regole per come Redis sfratta una chiave quando viene raggiunto il limite di memoria.
Esistono due categorie di politiche di sfratto in Redis.
Politiche di sfratto generale
La prima categoria sono le politiche di sfratto generale. Queste politiche si applicano a qualsiasi chiave che non abbia un valore di scadenza.
Loro includono:
Questa politica di sfratto dice a Redis di non rimuovere alcun dato quando viene raggiunto il limite di memoria. Invece, Redis restituirà un errore e non eseguirà il comando Aggiungi dati.
Questa politica è fortemente applicabile quando è necessario rimuovere le chiavi manualmente o prevenire la perdita di dati accidentali.
La seconda politica è allkeys-lru. Questo tipo di politica sfratta una chiave o LRU utilizzata di recente.
Questa politica presuppone che non hai bisogno delle chiavi usate di recente e le sfratta. Impedisce a Redis di errori in caso di limite di memoria.
Questa politica rimuoverà le chiavi in qualsiasi ordine casuale. Questa è una politica eccellente quando le chiavi nel tuo database sono di uguale importanza.
Politiche di sfratto volatile
Questi tipi di politiche di sfratto si basano sulle chiavi con i valori di scadenza. Loro includono:
Questa politica di sfratto rimuove le chiavi con un valore di scadenza in qualsiasi ordine casuale. È simile alla politica Allkeys-Random, tranne per il fatto che rimuove solo le chiavi scadute.
La politica volatile-TTL rimuove le chiavi con un tempo di scadenza, ma si tratta di quello con il tempo più breve per vivere prima.
Simile a volatile-TTL ma rimuove prima le chiavi meno usate.
Conclusione
Questa è un'introduzione alle politiche di Redis Maxmemory e sfratto. Puoi saperne di più sulle regole di sfratto di Redis nella risorsa seguente.
https: // redis.IO/Argomenti/LRU-Cache