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-100Il 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. |
noevictionallkeys-lruvolatile-lru (impostazione predefinita)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 relative a determinati eventi dello spazio delle chiavi. Per saperne di più, consulta la pagina Redis Keyspace Notifications sul sito di Redis. | "" (impostazione predefinita)KEventi keyspace, pubblicati con il prefisso __keyspace@ EEventi Keyevent, pubblicati con il prefisso __keyevent@ gComandi generici (non specifici per tipo) come DEL, EXPIRE o RENAME $Comandi stringa lComandi elenco sComandi set hComandi hash zComandi set ordinati xEventi scaduti (eventi generati ogni volta che una chiave scade) eEventi rimossi (eventi generati quando una chiave viene rimossa per maxmemory) AAlias 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 |
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 open source