Configurazioni Redis supportate

Questa pagina descrive le policy maxmemory e altre configurazioni Redis disponibili per Memorystore for Redis. Non è necessario riavviare l'istanza Redis se modifichi una configurazione.

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

Policy maxmemory

Quando la memoria dell'istanza Redis è piena e arriva una nuova scrittura, Redis elimina le 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 alcun dato.
  • allkeys-lfu: disponibile nella versione 4.0 o successive di Redis. Elimina le chiavi utilizzate meno di frequente (LFU) dall'intero set di chiavi.
  • allkeys-lru: rimuove le chiavi meno recenti dall'intero keyset.
  • volatile-lfu: disponibile nella versione 4.0 o successive di Redis. Elimina le chiavi utilizzate meno di frequente impostate con scadenze TTL (time to live).
  • volatile-lru: elimina le chiavi utilizzate meno di recente (LRU) impostate con scadenze TTL.
  • allkeys-random: Elimina chiavi casuali dall'intero spazio delle chiavi.
  • volatile-random: Elimina chiavi casuali tra quelle impostate con scadenze TTL.
  • volatile-ttl: elimina le chiavi con il TTL più breve tra quelle impostate con le 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. Funziona per liberare la memoria dell'istanza occupata dal comportamento di frammentazione della memoria di OSS Redis 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 l'eliminazione pigra. no disattiva questa configurazione. Per ulteriori informazioni, consulta REDIS.CONF no (predefinito)
yes
lazyfree-lazy-expire Redis versione 7.0 o successive. Attiva/disattiva la funzionalità di restituzione gratuita posticipata. 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 la funzionalità 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 pigro gratuito 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, 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 il modo in cui il contatore di frequenza rappresenta i tasti premuti. 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 maggior utilizzo di memoria verrà rimosso
Il valore predefinito è 0% (nessun limite). I valori accettabili sono percentuali intere comprese tra 0% e 100%. Rappresenta la percentuale di maxmemory dell'istanza a cui è limitato lo spazio di archiviazione client.
maxmemory-gb Indica un limite regolabile in base al quale viene applicata la policy di rimozione. Ad esempio, se hai un'istanza da 10 GB e imposti maxmemory-gb su 8, il criterio di rimozione viene applicato quando i dati occupano 8 GB della memoria dell'istanza. In questo modo, avrai 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 consoleGoogle 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 di maxmemory-gb. Consulta le norme Maxmemory per una descrizione del comportamento di ciascuna norma.

Per ulteriori informazioni sulle norme maxmemory di Redis open source, consulta la pagina della cache LRU di Redis open source.
noeviction
allkeys-lru
volatile-lru (impostazione predefinita)
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 relative a determinati eventi dello spazio delle chiavi. Per saperne di più, consulta la pagina Redis Keyspace Notifications sul sito di Redis. "" (impostazione predefinita)
K
Eventi keyspace, 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 stringa
l
Comandi elenco
s
Comandi set
h
Comandi hash
z
Comandi set ordinati
x
Eventi scaduti (eventi generati ogni volta che una chiave scade)
e
Eventi rimossi (eventi generati quando una chiave viene rimossa per maxmemory)
A
Alias per g$lshzxe, in modo che la stringa "AKE" indichi tutti gli eventi.
stream-node-max-bytes Redis versione 5.0 o successive. La struttura di dati del flusso Redis utilizza un albero radix per archiviare gli elementi. Il parametro stream-node-max-bytes indica il numero massimo di byte disponibili per archiviare 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 pari o superiori a 0.
(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 del flusso Redis utilizza un albero radix per archiviare gli elementi. Il parametro stream-node-max-entries indica il numero di elementi che possono essere archiviati in un singolo nodo. Quando viene raggiunto questo limite, i nuovi elementi vengono archiviati in un nuovo nodo dell'albero. Numeri interi pari o superiori a 0.
(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 vanno in timeout e rimangono connessi finché non viene emessa 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