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-100Il valore predefinito è 16 |
| lazyfree-lazy-eviction | Redis versione 7.0 o successive. Attiva/disattiva il valore lazy free 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 caricamento lento 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 il flush 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 saperne di più, 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 di 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 applicata la policy 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 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 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 |
noevictionallkeys-lruvolatile-lru (valore predefinito)allkeys-randomvolatile-randomvolatile-ttlvolatile-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)KEventi dello spazio chiavi, pubblicati con il prefisso __keyspace@ EEventi keyevent, pubblicati con il prefisso __keyevent@ gComandi generici (non specifici per tipo) come DEL, EXPIRE o RENAME $Comandi di stringa lComandi di elenco sComandi di set hComandi hash zComandi di set ordinati xEventi scaduti (eventi generati ogni volta che una chiave scade) eEventi espulsi (eventi generati quando una chiave viene espulsa per maxmemory) AAlias 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 |
sì |
hz |
10 |
databases |
16 |
maxclients |
65000 |
slowlog-log-slower-than |
10000 |
slowlog-max-len |
128 |
repl-diskless-load |
swapdb |
io-threads-do-reads |
sì |
Passaggi successivi
- Scopri di più sulle configurazioni Redis nella pagina Configurazione Redis di open source