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-100 Il valore predefinito è 16 |
lazyfree-lazy-eviction | Redis versione 7.0 o successive. Attiva/disattiva il rilascio lento 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 valore lazy 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 lo svuotamento 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 console Google 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 |
noeviction allkeys-lru volatile-lru (valore 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 dello spazio chiavi. Per ulteriori informazioni, consulta la pagina Notifiche dello spazio chiavi Redis sul sito di Redis. | "" (predefinito)K Eventi dello spazio chiavi, 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 di stringa l Comandi di elenco s Comandi di set h Comandi hash z Comandi di set ordinati x Eventi scaduti (eventi generati ogni volta che una chiave scade) e Eventi espulsi (eventi generati quando una chiave viene espulsa per maxmemory) A Alias 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 una struttura ad 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