REDIS Maxmemory Politiche

REDIS Maxmemory Politiche
Questo articolo discuterà della politica di Redis MaxMemory e come puoi usarla come cache LRU.

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.

  1. Innanzitutto, il client esegue il comando per aggiungere nuovi dati.
  2. Prima che il comando venga eseguito, Redis controlla se l'utilizzo della memoria è superiore al limite set maxmemory.
  3. Se viene raggiunto il limite, utilizza la politica di sfratto specificata per rimuovere le chiavi.
  4. Infine, il comando viene eseguito e vengono aggiunti nuovi dati.

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:

Noeviction

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.

Allkeys-lru

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.

Allkeys-Random

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:

Volatie-random

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.

Volatile-ttl

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.

Volatile-lru

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