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 modifichi una configurazione.

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

Criteri di Maxmemory

Quando la memoria dell'istanza Redis è piena ed è in arrivo una nuova scrittura, Redis rimuove le chiavi per fare spazio alla scrittura in base al criterio maxmemory dell'istanza. Il criterio maxmemory predefinito per Memorystore per Redis è volatile-lru. Puoi anche utilizzare uno dei seguenti criteri maxmemory:

  • noeviction: restituisce un errore quando l'istanza Redis raggiunge il valore maxmemory. I dati non vengono sovrascritti né rimossi.
  • allkeys-lfu: disponibile in Redis 4.0 o versioni successive. Rimuove le chiavi LFU (meno frequentemente utilizzate) dall'intero set di chiavi.
  • allkeys-lru: rimuove le chiavi utilizzate meno di recente (LRU) dall'intero set di chiavi.
  • volatile-lfu: disponibile in Redis 4.0 o versioni successive. Elimina le chiavi usate meno di frequente impostate con scadenze TTL (Time to Live).
  • volatile-lru: rimuove le chiavi utilizzate meno di recente (LRU) impostate con scadenze di TTL.
  • allkeys-random: rimuove le chiavi casuali dall'intero spazio delle chiavi.
  • volatile-random: rimuove le chiavi casuali tra quelle impostate con scadenze TTL.
  • volatile-ttl: rimuove le chiavi con il TTL più breve tra quelle impostate con scadenze.

Parametri di configurazione modificabili

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


Parametro Descrizione Valori accettati
defragareattiva Redis versione 4.0 o successive. Consente di liberare memoria dell'istanza legata dal comportamento di frammentazione della memoria standard del sistema operativo Redis. no (predefinita)
yes
eliminazione-lazy-lazy-lazy Redis versione 7.0 o successive. Attiva/disattiva lazy free per l'eliminazione. no disattiva questa configurazione. Per ulteriori informazioni, consulta REDIS.CONF. no (predefinita)
yes
scadenza-pigra-senza-lazy Redis versione 7.0 o successive. Attiva/disattiva lazy free per la scadenza. no disattiva questa configurazione. Per ulteriori informazioni, consulta REDIS.CONF. no (predefinita)
yes
lazyfree-lazy-user-del Redis versione 7.0 o successive. Attiva/disattiva lazy free per l'utente DEL. no disattiva questa configurazione. Per ulteriori informazioni, consulta REDIS.CONF. no (predefinita)
yes
lazyfree-lazy-user-flush Redis versione 7.0 o successive. Attiva/disattiva lo strumento gratuito lento per lo svuotamento dell'utente. no disattiva questa configurazione. Per ulteriori informazioni, consulta REDIS.CONF. no (predefinita)
yes
tempo-decadimento-lfu Redis versione 4.0 o successive. Il tempo, in minuti, prima che il contatore di 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 "lungo"
(valore predefinito=1)
fattore-log-lfu Redis versione 4.0 o successive. Determina il modo in cui il contatore di frequenza rappresenta gli hit chiave. Prima di modificare la configurazione predefinita, scopri come funziona la configurazione di lfu-log-factor nel file REDIS.CONF. Numeri interi positivi del tipo di dati "lungo"
(valore predefinito=10)
maxmemory-clients Redis 7.0 o versioni successive. Questa configurazione consente agli utenti di controllare l'utilizzo massimo della memoria da parte dei client.

Utilizzo memoria totale dei client normali/pubsub. Se viene raggiunto il limite, il client con più memoria utilizzata verrà rimosso
Il valore predefinito è 0% (nessun limite). I valori accettati sono valori percentuali interi compresi tra 0% e 100%. Rappresenta la percentuale di maxmemory dell'istanza a cui è limitato lo spazio di archiviazione del client.
maxmemory-gb Consente di stabilire un limite regolabile in base al quale applicare le norme 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 di 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é come 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.
Puoi ridurre maxmemory-gb fino ad un minimo del 20% della capacità dell'istanza.
maxmemory-policy Specifica il comportamento seguito da Redis quando i dati dell'istanza raggiungono il limite di maxmemory-gb. Per una descrizione del comportamento di ciascun criterio, consulta Criteri Maxmemory.

Per ulteriori informazioni sui criteri open source Maxmemory di Redis, consulta la pagina della cache LRU open source di Redis.
noeviction
allkeys-lru
volatile-lru (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 di spazi delle chiavi. Per ulteriori informazioni, consulta la pagina Notifiche Redis Keyspace sul sito Redis. "" (predefinito)
K
Eventi degli spazi chiavi, pubblicati con il prefisso __keyspace@__.
E
Eventi chiave pubblicati con il prefisso __keyevent@__.
g
Comandi generici (non specifici per il tipo) come DEL, EXPIRE o RENAME
$
Comandi stringa
l
Comandi elenco
s
Comandi hash
h
Comandi hash
z
Comandi impostati ordinati
x
Eventi scaduti (eventi generati ogni volta che una chiave scade)
e
Eventi rimossi (eventi generati quando una chiave viene rimossa per max.


A
stream-node-max-bytes Redis versione 5.0 o successive. La struttura dei dati dei flussi Redis utilizza una 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 ad albero. Una volta raggiunto questo limite, i nuovi elementi vengono archiviati in un nuovo nodo ad albero. Numero intero pari a 0 e successivi.
(valore predefinito=4096)
0 indica un nodo ad albero di dimensioni illimitate.
stream-node-max-entries Redis versione 5.0 o successive. La struttura dei dati dei flussi Redis utilizza una struttura ad albero di 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 questo limite viene raggiunto, i nuovi elementi vengono archiviati in un nuovo nodo ad albero. Numero intero pari a 0 e successivi.
(valore predefinito=100)
0 indica un nodo ad albero con un numero illimitato di elementi.
timeout Il numero di secondi prima che le connessioni client inattive vengano terminate. Tuttavia, se il criterio timeout viene impostato su 0, i client inattivi non scadono e rimangono connessi finché il client non invia la terminazione. 0 (predefinito)
Numeri interi >= 120
Unità = secondi

Parametri di configurazione non modificabili

La seguente tabella elenca i parametri di configurazione Redis che non puoi modificare in Memorystore per Redis e i relativi valori predefiniti. Consulta la documentazione relativa alla configurazione di Redis per informazioni dettagliate su questi parametri di configurazione.

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 scambiodb
io-threads-do-reads

Passaggi successivi