In questa pagina vengono descritti 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, consulta la sezione Configurazione delle istanze Redis.
Criteri Maxmemory
Quando la memoria dell'istanza Redis è piena e arriva 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 for Redis è volatile-lru
. Puoi anche utilizzare uno dei seguenti criteri di memoria massima:
noeviction
: restituisce un errore quando l'istanza Redis raggiunge maxmemory. Non sovrascrive o rimuove alcun dato.allkeys-lfu
: disponibile in Redis versione 4.0 o successive. Rimuove le chiavi meno utilizzate dall'intero set di chiavi (LFU).allkeys-lru
: rimuove le chiavi LRU meno utilizzate di recente dall'intero set di chiavi.volatile-lfu
: disponibile in Redis versione 4.0 o successive. Rimuove le chiavi meno utilizzate che sono impostate con scadenze TTL (Time to Live).volatile-lru
: rimuove le chiavi LRU (ultimamente utilizzate) impostate con scadenze TTL.allkeys-random
: rimuove le chiavi casuali dall'intero spazio delle chiavi.volatile-random
: rimuove le chiavi casuali tra quelle impostate con la scadenza TTL.volatile-ttl
: rimuove le 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 di Memorystore for Redis.
Parametro | Descrizione | Valori accettabili |
---|---|---|
activedefrag | Redis 4.0 o versioni successive. Libera la memoria dell'istanza associata al comportamento di frammentazione della memoria Redis standard di OSS. | no (valore predefinito)yes |
tempo di decadimento lfu | Redis 4.0 o versioni successive. Il tempo, in minuti, prima che il contatore della frequenza LFU per una determinata chiave venga diviso per due (oppure, se il contatore è < 10, viene diminuito per 1). Per ulteriori informazioni, consulta il file REDIS.CONF. | Numero intero positivo del tipo di dati 'long' (predefinito=1) |
fattore-log-fuori | Redis 4.0 o versioni successive. Determina in che modo il contatore della frequenza rappresenta gli hit chiave. Prima di modificare la configurazione predefinita, leggi come funziona la configurazione lfu-log-factor nel file REDIS.CONF. |
Numero intero positivo del tipo di dati 'long' (predefinito=10) |
maxmemory-gb | Indica 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 rimozione viene applicato quando i dati occupano 8
GB di memoria dell'istanza. Ciò consente di lasciare 2 GB di memoria come energia infrastrutturale. Per impostazione predefinita, maxmemory-gb è impostato sulla capacità dell'istanza. Per maggiori dettagli 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 in
Google Cloud Console. Quando usi la console, imposti maxmemory-percent come percentuale della capacità dell'istanza anziché su un numero specifico di GB.
|
Numero di GB espresso in formato intero o decimale. Esempi: 10 designa un maxmemory-gb di 10 GB.1.5 indica un maxmemory-gb di 1,5 GB.maxmemory-gb può essere ridotto ad almeno il 20% della capacità dell'istanza.
|
criterio maxmemory | Specifica il comportamento seguito da Redis quando i dati dell'istanza raggiungono il limite di maxmemory-gb . Fai riferimento ai criteri Maxmemory per una descrizione del comportamento di ciascun criterio.Per ulteriori informazioni sui criteri maxmemory Redis open source, consulta la pagina della cache LRU open source |
noeviction allkeys-lru volatile-lru (predefinita)allkeys-random volatile-random volatile-ttl volatile-lfu (Redis versione 4.0 e successive)allkeys-lfu (Redis versione 4.0 e successive)
|
avviso-eventi-chiave-spazio | Consente ai client di iscriversi alle notifiche per determinati eventi dello spazio chiave. Per ulteriori informazioni, consulta la pagina Notifiche Redis Keyspace sul sito Redis. | "" (valore predefinito)K Eventi chiave dello spazio pubblicitario, pubblicati con il prefisso __keyspace@ E Eventi keyevent, pubblicati con il prefisso __keyevent@ g Comandi generici (non di tipo specifico) come DEL, EXPIRE o RENAME $ Stringa di comandi l Comandi di elenco s Imposta comandi h Hash hash z Ordinati set di comandi x Eventi scaduti (eventi generati ogni volta che una chiave scade) e Eventi rimossi (eventi generati quando una chiave viene rimossa per il numero massimo di istanze) |
stream-node-max-bytes |
Redis 5.0 o versioni successive. La struttura dei dati dello stream 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 ad albero. Una volta raggiunto questo limite, i nuovi elementi vengono archiviati in un nuovo nodo ad albero. |
Numeri interi 0 e superiori. (default=4096) 0 indica un nodo ad albero di dimensioni illimitate. |
stream-node-max-entries |
Redis 5.0 o versioni successive. La struttura dei dati dello stream 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. Una volta raggiunto questo limite, i nuovi elementi vengono archiviati in un nuovo nodo ad albero. |
Interi 0 e superiori. (default=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 è impostato su 0 , i client inattivi non scadono e rimangono connessi finché il client non restituisce la terminazione.
|
0 (predefinito) Interi >= 120 Unità = secondi |
Parametri di configurazione non modificabili
La seguente tabella elenca i parametri di configurazione 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 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 |
dbdb |
io-threads-do-reads |
sì |
Passaggi successivi
- Scopri di più sulle configurazioni Redis nella pagina open source Redis configuration