Parametri specifici di Redis OSS - Amazon MemoryDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Parametri specifici di Redis OSS

Se non specificate un gruppo di parametri per il cluster Redis OSS, verrà utilizzato un gruppo di parametri predefinito appropriato alla versione del motore. In un gruppo di parametri di default non puoi modificare i valori di nessuno dei parametri. Tuttavia puoi creare un gruppo di parametri personalizzato e assegnarlo in qualsiasi momento al cluster, purché i valori dei parametri modificabili in base a condizioni corrispondano in entrambi i gruppi di parametri. Per ulteriori informazioni, consulta Creazione di un gruppo di parametri.

Modifiche ai parametri Redis OSS 7

Nota

MemoryDB ha introdotto una versione di anteprima di Vector search che include un nuovo gruppo di parametri immutabili. default.memorydb-redis7.search.preview Questo gruppo di parametri è disponibile nella console di MemoryDB e durante la creazione di un nuovo vector-search-enabled cluster utilizzando il comando CLI create-cluster. La versione di anteprima è disponibile nelle seguenti AWS regioni: Stati Uniti orientali (Virginia settentrionale), Stati Uniti orientali (Ohio), Stati Uniti occidentali (Oregon), Asia Pacifico (Tokyo) ed Europa (Irlanda).

Famiglia di gruppi di parametri: memorydb_redis7

I parametri aggiunti in Redis OSS 7 sono i seguenti.

Nome Informazioni Descrizione
latency-tracking

Valori consentiti: yes, no

Impostazione predefinita: no

Tipo: string

Modificabile: sì

Le modifiche diventano effettive: immediatamente in tutti i nodi del cluster.

Se impostato su yes, tiene traccia delle latenze per comando e consente di esportare la distribuzione percentile tramite il comando delle statistiche di latenza INFO e le distribuzioni di latenza cumulative (istogrammi) tramite il comando LATENCY.

hash-max-listpack-entries

Valori consentiti: 0+

Impostazione predefinita: 512

Tipo: Integer

Modificabile: sì

Le modifiche diventano effettive: immediatamente in tutti i nodi del cluster.

Il numero massimo di voci hash per consentire la compressione del set di dati.

hash-max-listpack-value

Valori consentiti: 0+

Impostazione predefinita: 64

Tipo: Integer

Modificabile: sì

Le modifiche diventano effettive: immediatamente in tutti i nodi del cluster.

La soglia del numero massimo di voci hash per consentire la compressione del set di dati.

zset-max-listpack-entries

Valori consentiti: 0+

Impostazione predefinita: 128

Tipo: Integer

Modificabile: sì

Le modifiche diventano effettive: immediatamente in tutti i nodi del cluster.

Il numero massimo di voci set ordinari per consentire la compressione del set di dati.

zset-max-listpack-value

Valori consentiti: 0+

Impostazione predefinita: 64

Tipo: Integer

Modificabile: sì

Le modifiche diventano effettive: immediatamente in tutti i nodi del cluster.

La soglia del numero massimo di voci set ordinati per consentire la compressione del set di dati.

search-enabled

Valori consentiti: yes, no

Impostazione predefinita: no

Tipo: string

Modificabile: sì

Le modifiche hanno effetto: solo per i nuovi cluster.

Versione minima del motore: 7.1

Se impostato su sì, abilita le funzionalità di ricerca.

search-query-timeout-ms

Valori consentiti: 1 - 60,000

Impostazione predefinita: 10,000

Tipo: Integer

Modificabile: sì

Le modifiche diventano effettive: immediatamente in tutti i nodi del cluster.

Versione minima del motore: 7.1

La quantità massima di tempo in millisecondi consentita per l'esecuzione di una query di ricerca.

I parametri modificati in Redis OSS 7 sono i seguenti.

Nome Informazioni Descrizione
activerehashing

Modificabile: no. In Redis OSS 7, questo parametro è nascosto e abilitato per impostazione predefinita. Per disattivarlo, è necessario creare un caso di supporto.

Era modificabile.

I parametri rimossi in Redis OSS 7 sono i seguenti.

Nome Informazioni Descrizione
hash-max-ziplist-entries

Valori consentiti: 0+

Impostazione predefinita: 512

Tipo: Integer

Modificabile: sì

Le modifiche diventano effettive: immediatamente in tutti i nodi del cluster.

Utilizzare listpack anziché ziplist per rappresentare la codifica hash piccola

hash-max-ziplist-value

Valori consentiti: 0+

Impostazione predefinita: 64

Tipo: Integer

Modificabile: sì

Le modifiche diventano effettive: immediatamente in tutti i nodi del cluster.

Utilizzare listpack anziché ziplist per rappresentare la codifica hash piccola

zset-max-ziplist-entries

Valori consentiti: 0+

Impostazione predefinita: 128

Tipo: Integer

Modificabile: sì

Le modifiche diventano effettive: immediatamente in tutti i nodi del cluster.

Utilizzare listpack anziché ziplist per rappresentare la codifica hash piccola.

zset-max-ziplist-value

Valori consentiti: 0+

Impostazione predefinita: 64

Tipo: Integer

Modificabile: sì

Le modifiche diventano effettive: immediatamente in tutti i nodi del cluster.

Utilizzare listpack anziché ziplist per rappresentare la codifica hash piccola.

Parametri Redis OSS 6

Nota

Nella versione 6.2 del motore Redis OSS, quando la famiglia di nodi r6gd è stata introdotta per l'uso con Tiering di datinoeviction, volatile-lru solo le politiche di allkeys-lru memoria massima sono supportate con i tipi di nodi r6gd.

Famiglia di gruppi di parametri: memorydb_redis6

I parametri aggiunti in Redis OSS 6 sono i seguenti.

Nome Informazioni Descrizione
maxmemory-policy

Tipo: STRING

Valori consentiti: volatile-lru, allkeys-lru, volatile-lfu, allkeys-lfu, volatile-random, allkeys-random, volatile-ttl, noeviction

Predefinito: noeviction

La policy di espulsione per le chiavi quando viene raggiunto l'utilizzo di memoria massimo.

Per ulteriori informazioni, vedere Utilizzo di Redis OSS come cache LRU Utilizzo di Redis OSS come cache LRU.

list-compress-depth

Tipo: INTEGER

Valori consentiti: 0-

Impostazione predefinita: 0

La profondità di compressione (compress depth) è il numero di nodi quicklist ziplist di ciascun lato dell'elenco da escludere dalla compressione. I nodi head e tail dell'elenco vengono sempre decompressi per ottenere operazioni di push e pop rapide. Le impostazioni sono:
  • 0: disabilita completamente la compressione.

  • 1: la compressione inizia con il primo nodo successivo a head e termina con il primo nodo precedente a tail.

    [head]->nodo->nodo->...->nodo->[tail]

    Vengono compressi tutti i nodi tranne [head] e [tail].

  • 2: la compressione inizia con il secondo nodo successivo a head e termina con il secondo nodo precedente a tail.

    [head]->[succ]->nodo->nodo->...->nodo->[prec]->[tail]

    [head], [succ], [prec], [tail] non vengono compressi. Vengono compressi tutti gli altri nodi.

  • ecc.

hll-sparse-max-bytes

Tipo: INTEGER

Valori consentiti: 1-16000

Impostazione predefinita: 3000

HyperLogLog limite di byte di rappresentazione sparsa. Il limite include l'intestazione a 16 byte. Quando si HyperLogLog utilizza la rappresentazione sparsa supera questo limite, viene convertita nella rappresentazione densa.

Un valore maggiore di 16000 non è consigliato, perché a quel punto la rappresentazione dense è più efficiente in termini di memoria.

Consigliamo un valore di circa 3000 per sfruttare i vantaggi della codifica efficiente in termini di spazio senza rallentamenti PFADD eccessivi, ossia O (N) con la codifica sparsa. Il valore può essere aumentato a ~10000 quando la CPU non è un problema, ma lo spazio sì, e il set di dati è composto da molti dati HyperLogLogs con cardinalità compresa tra 0 e 15000.

lfu-log-factor

Tipo: INTEGER

Valori consentiti: 1-

Impostazione predefinita: 10

Il fattore logaritmico per incrementare il contatore chiave della politica di sfratto della LFU.

lfu-decay-time

Tipo: INTEGER

Valori consentiti: 0-

Impostazione predefinita: 1

La quantità di tempo, in minuti, necessaria per ridurre il contatore chiave della politica di sfratto della LFU.

active-defrag-max-scan-fields

Tipo: INTEGER

Valori consentiti: 1-1000000

Impostazione predefinita: 1000

Numero massimo di campi set/hash/zset/list che verranno elaborati dalla scansione del dizionario principale durante la deframmentazione attiva.

active-defrag-threshold-upper

Tipo: INTEGER

Valori consentiti: 1-100

Impostazione predefinita: 100

Percentuale massima di frammentazione che richiede lo sforzo massimo.

client-output-buffer-limit-pubsub-hard-limit

Tipo: INTEGER

Valori consentiti: 0-

Impostazione predefinita: 33554432

Per i client di pubblicazione/sottoscrizione Redis OSS: se il buffer di output di un client raggiunge il numero di byte specificato, il client verrà disconnesso.

client-output-buffer-limit-pubsub-soft-limit

Tipo: INTEGER

Valori consentiti: 0-

Impostazione predefinita: 8388608

Per i client di pubblicazione/sottoscrizione Redis OSS: se il buffer di output di un client raggiunge il numero di byte specificato, il client verrà disconnesso, ma solo se questa condizione persiste per client-output-buffer-limit-pubsub-soft-seconds.

client-output-buffer-limit-pubsub-soft-seconds

Tipo: INTEGER

Valori consentiti: 0-

Impostazione predefinita: 60

Per i client di pubblicazione/sottoscrizione Redis OSS: se il buffer di output di un client rimane in client-output-buffer-limit-pubsub-soft-limit byte per più di questo numero di secondi, il client verrà disconnesso.

timeout

Tipo: INTEGER

Valori consentiti: 0,20-

Impostazione predefinita: 0

Il numero di secondi prima del timeout di un nodo. I valori sono:

  • 0 — non disconnettere mai un client inattivo.

  • 1-19: valori non validi.

  • >=20: il numero di secondi di attesa di un nodo prima di disconnettere un client inattivo.

notify-keyspace-events

Tipo: STRING

Valori consentiti: NULL

Impostazione predefinita: NULL

Gli eventi keyspace per Redis OSS su cui notificare i client Pub/Sub. Per impostazione predefinita, tutte le notifiche sono disabilitate.

maxmemory-samples

Tipo: INTEGER

Valori consentiti: 1-

Impostazione predefinita: 3

Per least-recently-used (LRU) i time-to-live (TTL) calcoli, questo parametro rappresenta la dimensione del campione di chiavi da controllare. Per impostazione predefinita, Redis OSS sceglie 3 chiavi e utilizza quella utilizzata meno di recente.

slowlog-max-len

Tipo: INTEGER

Valori consentiti: 0-

Impostazione predefinita: 128

La lunghezza massima del Redis OSS Slow Log. Non c'è limite a questa lunghezza. Tieni presente che consumerà memoria. È possibile recuperare la memoria utilizzata dallo slow log con SLOWLOG RESET.

activerehashing

Tipo: STRING

Valori consentiti: sì, no

Impostazione predefinita: yes (sì)

La tabella hash principale viene sottoposata a rehashing 10 volte al secondo. Ogni operazione di rehashing utilizza 1 millisecondo di tempo CPU.

Questo valore viene impostato quando crei il gruppo di parametri. Al momento dell'assegnazione di un nuovo gruppo di parametri a un cluster, questo valore deve corrispondere in entrambi i gruppi di parametri: il precedente e il nuovo.

client-output-buffer-limit-normal-hard-limit

Tipo: INTEGER

Valori consentiti: 0-

Impostazione predefinita: 0

Se il buffer di output di un client raggiunge il numero di byte specificato, il client verrà disconnesso. Il valore di default è zero (nessun limite rigido).

client-output-buffer-limit-normal-soft-limit

Tipo: INTEGER

Valori consentiti: 0-

Impostazione predefinita: 0

Se il buffer di output di un client raggiunge il numero di byte specificato, il client verrà disconnesso, ma solo se questa condizione persiste per client-output-buffer-limit-normal-soft-seconds. Il valore di default è zero (nessun limite flessibile).

client-output-buffer-limit-normal-soft-seconds

Tipo: INTEGER

Valori consentiti: 0-

Impostazione predefinita: 0

Se il buffer di output di un client rimane di client-output-buffer-limit-normal-soft-limit byte per un tempo maggiore del numero di secondi specificato, il client verrà disconnesso. Il valore di default è zero (nessun limite di tempo).

tcp-keepalive

Tipo: INTEGER

Valori consentiti: 0-

Impostazione predefinita: 300

Se impostato su un valore diverso da zero (N), i client del nodo vengono sottoposti a polling ogni N secondi, per garantire che siano ancora connessi. Con l'impostazione predefinita 0, non viene eseguito alcun polling.

active-defrag-cycle-min

Tipo: INTEGER

Valori consentiti: 1-75

Impostazione predefinita: 5

Sforzo minimo per la deframmentazione in percentuale di CPU.

stream-node-max-bytes

Tipo: INTEGER

Valori consentiti: 0-

Impostazione predefinita: 4096

La struttura dati del flusso è una struttura radice che codifica più voci al suo interno. Utilizza questa configurazione per specificare le dimensioni massime in byte di un singolo nodo in una struttura radice. Se impostata su 0, il nodo della struttura è illimitato.

stream-node-max-entries

Tipo: INTEGER

Valori consentiti: 0-

Impostazione predefinita: 100

La struttura dati del flusso è una struttura radice che codifica più voci al suo interno. Utilizza questa configurazione per specificare il numero massimo di elementi che un singolo nodo può contenere prima di passare a un nuovo nodo durante l'accodamento di nuove voci di flusso. Se impostato su 0, il numero di elementi nel nodo dell'albero è illimitato.

lazyfree-lazy-eviction

Tipo: STRING

Valori consentiti: sì, no

Impostazione predefinita: no

Effettua un'eliminazione asincrona degli sfratti.

active-defrag-ignore-bytes

Tipo: INTEGER

Valori consentiti: 1048576-

Impostazione predefinita: 104857600

Quantità minima di scarto della frammentazione necessaria per avviare la deframmentazione attiva.

lazyfree-lazy-expire

Tipo: STRING

Valori consentiti: sì, no

Impostazione predefinita: no

Esegui un'eliminazione asincrona delle chiavi scadute.

active-defrag-threshold-lower

Tipo: INTEGER

Valori consentiti: 1-100

Impostazione predefinita: 10

Percentuale minima di frammentazione necessaria per avviare la deframmentazione attiva.

active-defrag-cycle-max

Tipo: INTEGER

Valori consentiti: 1-75

Impostazione predefinita: 75

Sforzo massimo per la deframmentazione in percentuale di CPU.

lazyfree-lazy-server-del

Tipo: STRING

Valori consentiti: sì, no

Impostazione predefinita: no

Esegue un'eliminazione asincrona per i comandi che aggiornano i valori.

slowlog-log-slower-than

Tipo: INTEGER

Valori consentiti: 0-

Impostazione predefinita: 10000

Il tempo di esecuzione massimo, in microsecondi, da superare affinché il comando venga registrato dalla funzionalità Redis OSS. Slow Log Nota che un numero negativo disabilita lo slow log, mentre un valore pari a zero impone la registrazione di ogni comando.

hash-max-ziplist-entries

Tipo: INTEGER

Valori consentiti: 0-

Impostazione predefinita: 512

Determina la quantità di memoria utilizzata per gli hash. Gli hash con un numero di voci inferiore a quello specificato vengono archiviati con una codifica speciale che consente di risparmiare spazio.

hash-max-ziplist-value

Tipo: INTEGER

Valori consentiti: 0-

Impostazione predefinita: 64

Determina la quantità di memoria utilizzata per gli hash. Gli hash con voci di dimensioni inferiori al numero di byte specificato vengono archiviati con una codifica speciale che consente di risparmiare spazio.

set-max-intset-entries

Tipo: INTEGER

Valori consentiti: 0-

Impostazione predefinita: 512

Determina la quantità di memoria utilizzata per determinati tipi di set (stringhe di numeri interi in radice 10 nell'intervallo di interi con segno a 64 bit). Tali set con un numero di voci inferiore a quello specificato vengono archiviati con una codifica speciale che consente di risparmiare spazio.

zset-max-ziplist-entries

Tipo: INTEGER

Valori consentiti: 0-

Impostazione predefinita: 128

Determina la quantità di memoria utilizzata per i set ordinati. I set ordinati con un numero di elementi inferiore a quello specificato vengono archiviati con una codifica speciale che consente di risparmiare spazio.

zset-max-ziplist-value

Tipo: INTEGER

Valori consentiti: 0-

Impostazione predefinita: 64

Determina la quantità di memoria utilizzata per i set ordinati. I set ordinati con voci di dimensioni inferiori al numero di byte specificato vengono archiviati con una codifica speciale che consente di risparmiare spazio.

tracking-table-max-keys

Tipo: INTEGER

Valori consentiti: 1-100000000

Impostazione predefinita: 1000000

Per facilitare la memorizzazione nella cache lato client, Redis OSS supporta il monitoraggio dei client che hanno effettuato l'accesso a quali chiavi.

Quando la chiave tracciata viene modificata, i messaggi di annullamento della convalida vengono inviati a tutti i client per notificare loro i valori memorizzati nella cache non sono più validi. Questo valore consente di specificare il limite superiore di questa tabella.

acllog-max-len

Tipo: INTEGER

Valori consentiti: 1-10000

Impostazione predefinita: 128

Il numero massimo di voci nel registro ACL.

active-expire-effort

Tipo: INTEGER

Valori consentiti: 1-10

Impostazione predefinita: 1

Redis OSS elimina le chiavi che hanno superato il tempo di validità secondo due meccanismi. In uno, si accede a una chiave e si trova scaduta. Nell'altro, un processo periodico campiona le chiavi e fa scadere quelle che hanno superato la loro durata (TTL). Questo parametro definisce lo sforzo impiegato da Redis OSS per far scadere gli elementi del job periodico.

Il valore di default di 1 tenta di evitare di avere più del 10% delle chiavi scadute ancora in memoria. Inoltre cerca di evitare di consumare più del 25% della memoria totale e di aggiungere latenza al sistema. È possibile aumentare questo valore fino a 10 per aumentare la quantità di sforzo speso per le chiavi in scadenza. Il compromesso è una CPU più alta e una latenza potenzialmente più elevata. Si consiglia un valore pari a 1, a meno che non si verifichi un utilizzo elevato della memoria e si possa tollerare un aumento dell'utilizzo della CPU.

lazyfree-lazy-user-del

Tipo: STRING

Valori consentiti: sì, no

Impostazione predefinita: no

Speciifica se il comportamento predefinito del DEL comando agisce comeUNLINK.

activedefrag

Tipo: STRING

Valori consentiti: sì, no

Impostazione predefinita: no

Deframmentazione attiva della memoria abilitata.

maxclients

Tipo: INTEGER

Valori consentiti: 65000

Impostazione predefinita: 65000

Il numero massimo di client che possono essere connessi alla volta. Non modificabile.

client-query-buffer-limit

Tipo: INTEGER

Valori consentiti: 1048576-1073741824

Impostazione predefinita: 1073741824

Dimensione massima di un singolo buffer di query client. La modifica avviene immediatamente.

proto-max-bulk-len

Tipo: INTEGER

Valori consentiti: 1048576-536870912

Impostazione predefinita: 536870912

Dimensione massima di una singola richiesta di elementi. La modifica avviene immediatamente.

Parametri specifici del tipo di nodo di MemoryDB

Sebbene la maggior parte dei parametri abbia un valore singolo, alcuni parametri hanno diversi valori in base al tipo di nodo utilizzato. La tabella seguente mostra il valore predefinito per ogni tipo di maxmemory nodo. Il valore di maxmemory è il numero massimo di byte disponibili sul nodo per utilizzo, dati e altro.

Tipo di nodo Maxmemory
db.r7g.large 14037181030
db.r7g.xlarge 28261849702
db.r7g.2xlarge 56711183565
db.r7g.4xlarge 113609865216
db.r7g.8xlarge 225000375228
db.r7g.12xlarge 341206346547
db.r7g.16xlarge 450000750456
db.r6gd.xlarge 28261849702
db.r6gd.2xlarge 56711183565
db.r6gd.4xlarge 113609865216
db.r6gd.8xlarge 225000375228
db.r6g.large 14037181030
db.r6g.xlarge 28261849702
db.r6g.2xlarge 56711183565
db.r6g.4xlarge 113609865216
db.r6g.8xlarge 225000375228
db.r6g.12xlarge 341206346547
db.r6g.16xlarge 450000750456
db.t4g.small 1471026299
db.t4g.medium 3317862236
Nota

Tutti i tipi di istanze MemoryDB devono essere creati in un VPC Amazon Virtual Private Cloud.