Configurazioni Redis supportate

Questa pagina descrive i criteri maxmemory e altre configurazioni Redis disponibili per Memorystore for Redis. Non è necessario riavviare l'istanza Redis se aggiusti una configurazione.

Per istruzioni su come modificare le configurazioni elencate di seguito, consulta Configurare le istanze Redis.

Criteri Maxmemory

Quando la memoria dell'istanza Redis è piena e arriva una nuova scrittura, Redis esegue l'espulsione delle chiavi per fare spazio alla scrittura in base al criterio maxmemory dell'istanza. Il criterio maxmemory predefinito per Memorystore for Redis è volatile-lru. Puoi anche utilizzare uno dei seguenti criteri maxmemory:

  • noeviction: restituisce un errore quando l'istanza Redis raggiunge maxmemory. Non sovrascrive né elimina dati.
  • allkeys-lfu: disponibile nella versione 4.0 o successive di Redis. Rimuove le chiavi meno utilizzate (LFU) dall'intero insieme di chiavi.
  • allkeys-lru: estrae le chiavi meno recenti utilizzate (LRU) dall'intero insieme di chiavi.
  • volatile-lfu: disponibile nella versione 4.0 o successive di Redis. Rimuove le chiavi meno utilizzate impostate con scadenze TTL (time to live).
  • volatile-lru: esegue l'espulsione delle chiavi meno di recente utilizzate (LRU) impostate con scadenze TTL.
  • allkeys-random: rimuove chiavi casuali dall'intero spazio chiavi.
  • volatile-random: esegue l'espulsione di chiavi casuali tra quelle impostate con scadenze TTL.
  • volatile-ttl: esegue l'espulsione delle chiavi con il TTL più breve tra quelle impostate con scadenze TTL.

Parametri di configurazione modificabili

Puoi modificare i seguenti parametri durante la creazione o l'aggiornamento di un'istanza Memorystore for Redis.


Parametro Descrizione Valori accettabili
activedefrag Redis versione 4.0 o successive. Consente di liberare la memoria dell'istanza occupata dal comportamento di frammentazione della memoria Redis OSS standard. no (predefinito)
yes
database Redis versione 3.2 o successive. Specifica il numero di database sul server Redis. 1-100
Il valore predefinito è 16
lazyfree-lazy-eviction Redis versione 7.0 o successive. Attiva/disattiva il rilascio lento per l'espulsione. no disattiva questa configurazione. Per ulteriori informazioni, consulta REDIS.CONF no (predefinito)
yes
lazyfree-lazy-expire Redis versione 7.0 o successive. Attiva/disattiva il valore lazy per la scadenza. no disattiva questa configurazione. Per ulteriori informazioni, consulta REDIS.CONF no (predefinito)
yes
lazyfree-lazy-user-del Redis versione 7.0 o successive. Attiva/disattiva il valore lazy free per l'utente DEL. no disattiva questa configurazione. Per ulteriori informazioni, consulta REDIS.CONF no (predefinito)
yes
lazyfree-lazy-user-flush Redis versione 7.0 o successive. Attiva/disattiva lo svuotamento lazy per l'utente. no disattiva questa configurazione. Per ulteriori informazioni, consulta REDIS.CONF no (predefinito)
yes
lfu-decay-time Redis versione 4.0 o successive. Il tempo, in minuti, prima che il contatore della frequenza LFU per una determinata chiave venga diviso per due (o, se il contatore è < 10, venga decrementato di 1). Per ulteriori informazioni, consulta il file REDIS.CONF. Numeri interi positivi del tipo di dati "long"
(valore predefinito=1)
lfu-log-factor Redis versione 4.0 o successive. Determina in che modo il contatore della frequenza rappresenta i hit delle chiavi. Prima di modificare la configurazione predefinita, leggi come funziona la configurazione lfu-log-factor nel file REDIS.CONF. Numeri interi positivi del tipo di dati "long"
(valore predefinito=10)
maxmemory-clients Redis 7.0 o versioni successive. Questa configurazione consente agli utenti di controllare l'utilizzo massimo della memoria dei client.

Utilizzo totale della memoria dei client normali/pubsub. Se viene raggiunto il limite, il client con il maggiore utilizzo di memoria verrà espulso
Il valore predefinito è 0% (nessun limite). I valori accettati sono valori percentuali interi tra 0% e 100%. Rappresenta la percentuale della memoria massima dell'istanza a cui è limitato lo spazio di archiviazione del client.
maxmemory-gb Designa un limite regolabile in base al quale viene applicato il criterio di rimozione. Ad esempio, se hai un'istanza da 10 GB e imposti maxmemory-gb su 8, il criterio di espulsione viene applicato quando i dati occupano 8 GB di memoria dell'istanza. Rimarranno 2 GB di memoria come overhead. Per impostazione predefinita, maxmemory-gb è impostato sulla capacità dell'istanza. Per informazioni dettagliate su come utilizzare al meglio la configurazione maxmemory-gb, consulta le best practice per la gestione della memoria di Memorystore.

Questa configurazione viene visualizzata come maxmemory-percent nella console Google Cloud. Quando utilizzi la console, imposti maxmemory-percent come percentuale della capacità dell'istanza anziché un numero specifico di GB.
Numero di GB espresso come numero intero o decimale.
Esempi:
10 indica un maxmemory-gb di 10 GB.
1.5 indica un maxmemory-gb di 1,5 GB.
maxmemory-gb può essere ridotto a un minimo del 20% della capacità dell'istanza.
maxmemory-policy Specifica il comportamento di Redis quando i dati dell'istanza raggiungono il limite maxmemory-gb. Consulta le norme relative a Maxmemory per una descrizione del comportamento di ogni norma.

Per ulteriori informazioni sui criteri maxmemory di Redis open source, consulta la pagina della cache LRU di Redis open source
noeviction
allkeys-lru
volatile-lru (valore predefinito)
allkeys-random
volatile-random
volatile-ttl
volatile-lfu (Redis versione 4.0 e successive)
allkeys-lfu (Redis versione 4.0 e successive)
notify-keyspace-events Consente ai client di iscriversi alle notifiche su determinati eventi dello spazio chiavi. Per ulteriori informazioni, consulta la pagina Notifiche dello spazio chiavi Redis sul sito di Redis. "" (predefinito)
K
Eventi dello spazio chiavi, pubblicati con il prefisso __keyspace@__.
E
Eventi keyevent, pubblicati con il prefisso __keyevent@__.
g
Comandi generici (non specifici per tipo) come DEL, EXPIRE o RENAME
$
Comandi di stringa
l
Comandi di elenco
s
Comandi di set
h
Comandi hash
z
Comandi di set ordinati
x
Eventi scaduti (eventi generati ogni volta che una chiave scade)
e
Eventi espulsi (eventi generati quando una chiave viene espulsa per maxmemory)
A
Alias per g$lshzxe, in modo che la stringa "AKE" indichi tutti gli eventi.
stream-node-max-bytes Redis 5.0 o versioni successive. La struttura di dati dello stream Redis utilizza un albero radice per archiviare gli elementi. Il parametro stream-node-max-bytes indica il numero massimo di byte disponibili per memorizzare gli elementi in un singolo nodo dell'albero. Una volta raggiunto questo limite, i nuovi elementi vengono archiviati in un nuovo nodo dell'albero. Numeri interi da 0 in poi.
(valore predefinito=4096)
0 indica un nodo dell'albero di dimensioni illimitate.
stream-node-max-entries Redis versione 5.0 o successive. La struttura di dati dello stream Redis utilizza un albero radice per archiviare gli elementi. Il parametro stream-node-max-entries indica il numero di elementi che possono essere archiviati in un singolo nodo. Quando questo limite viene raggiunto, i nuovi elementi vengono archiviati in un nuovo nodo dell'albero. Numeri interi da 0 in poi.
(valore predefinito=100)
0 indica un nodo dell'albero con un numero illimitato di elementi.
timeout Il numero di secondi prima che le connessioni client inattive vengano terminate. Tuttavia, se timeout è impostato su 0, i client inattivi non saranno soggetti a timeout e rimarranno connessi finché il client non ne stabilisce la terminazione. 0 (valore predefinito)
Numeri interi >= 120
Unità = secondi

Parametri di configurazione non modificabili

La tabella seguente elenca i parametri di configurazione di Redis che non puoi modificare in Memorystore for Redis e i relativi valori predefiniti. Per informazioni dettagliate su questi parametri di configurazione, consulta la documentazione sulla configurazione di Redis.

Parametro Valore predefinito
lua-time-limit 5000
hash-max-ziplist-entries 2048
hash-max-ziplist-value 1024
list-max-ziplist-size -2
list-compress-depth . 0
set-max-intset-entries 512
zset-max-ziplist-entries 1024
zset-max-ziplist-value 1024
hll-sparse-max-byte 3000
activerehashing
hz 10
databases 16
maxclients 65000
slowlog-log-slower-than 10000
slowlog-max-len 128
repl-diskless-load swapdb
io-threads-do-reads

Passaggi successivi