Paramètres spécifiques à Redis OSS - Amazon MemoryDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Paramètres spécifiques à Redis OSS

Si vous ne spécifiez pas de groupe de paramètres pour votre cluster Redis OSS, un groupe de paramètres par défaut adapté à la version de votre moteur sera utilisé. Vous ne pouvez pas modifier les valeurs des paramètres dans le groupe de paramètres par défaut. Vous pouvez cependant créer un groupe de paramètres personnalisés et l'assigner à votre cluster à tout moment, tant que les valeurs des paramètres modifiables sous conditions sont les mêmes dans les deux groupes de paramètres. Pour plus d’informations, consultez Création d'un groupe de paramètres.

Modifications des paramètres de Redis OSS 7

Note

MemoryDB a introduit une version préliminaire de Vector Search qui inclut un nouveau groupe de paramètres immuables. default.memorydb-redis7.search.preview Ce groupe de paramètres est disponible dans la console MemoryDB et lors de la création d'un nouveau vector-search-enabled cluster à l'aide de la commande create-cluster CLI. La version préliminaire est disponible dans les AWS régions suivantes : USA Est (Virginie du Nord), USA Est (Ohio), USA Ouest (Oregon), Asie-Pacifique (Tokyo) et Europe (Irlande).

Famille de groupes de paramètres : memorydb_redis7

Les paramètres ajoutés dans Redis OSS 7 sont les suivants.

Nom Détails Description
latency-tracking

Valeurs autorisées : yes, no

Par défaut : no

Type : chaîne

Modifiable : oui

Les modifications prennent effet : immédiatement sur tous les nœuds du cluster.

Lorsque ce paramètre est défini sur yes, il suit les latences par commande et permet d'exporter la distribution percentile via la commande de statistiques de latence INFO et les distributions de latence cumulées (histogrammes) via la commande LATENCY.

hash-max-listpack-entries

Valeurs autorisées : 0+

Par défaut : 512

Type : entier

Modifiable : oui

Les modifications prennent effet : immédiatement sur tous les nœuds du cluster.

Nombre maximum d'entrées de hachage pour que le jeu de données soit compressé.

hash-max-listpack-value

Valeurs autorisées : 0+

Par défaut : 64

Type : entier

Modifiable : oui

Les modifications prennent effet : immédiatement sur tous les nœuds du cluster.

Le seuil des entrées de hachage les plus importantes pour que le jeu de données soit compressé.

zset-max-listpack-entries

Valeurs autorisées : 0+

Par défaut : 128

Type : entier

Modifiable : oui

Les modifications prennent effet : immédiatement sur tous les nœuds du cluster.

Nombre maximum d'entrées de jeu triées pour que le jeu de données soit compressé.

zset-max-listpack-value

Valeurs autorisées : 0+

Par défaut : 64

Type : entier

Modifiable : oui

Les modifications prennent effet : immédiatement sur tous les nœuds du cluster.

Le seuil des entrées de jeu triées les plus importantes pour que le jeu de données soit compressé.

search-enabled

Valeurs autorisées : yes, no

Par défaut : no

Type : chaîne

Modifiable : oui

Les modifications prennent effet : pour les nouveaux clusters uniquement.

Version minimale du moteur : 7.1

Lorsqu'il est défini sur Oui, il active les fonctionnalités de recherche.

search-query-timeout-ms

Valeurs autorisées : 1 - 60,000

Par défaut : 10,000

Type : entier

Modifiable : oui

Les modifications prennent effet : immédiatement sur tous les nœuds du cluster.

Version minimale du moteur : 7.1

Durée maximale en millisecondes pendant laquelle une requête de recherche est autorisée à s'exécuter.

Les paramètres modifiés dans Redis OSS 7 sont les suivants.

Nom Détails Description
activerehashing

Modifiable : no. Dans Redis OSS 7, ce paramètre est masqué et activé par défaut. Pour le désactiver, vous devez créer un cas de support.

Modifiable était sur oui.

Les paramètres supprimés dans Redis OSS 7 sont les suivants.

Nom Détails Description
hash-max-ziplist-entries

Valeurs autorisées : 0+

Par défaut : 512

Type : entier

Modifiable : oui

Les modifications prennent effet : immédiatement sur tous les nœuds du cluster.

Utilisez listpack plutôt que ziplist pour représenter un petit encodage à hachage

hash-max-ziplist-value

Valeurs autorisées : 0+

Par défaut : 64

Type : entier

Modifiable : oui

Les modifications prennent effet : immédiatement sur tous les nœuds du cluster.

Utilisez listpack plutôt que ziplist pour représenter un petit encodage à hachage

zset-max-ziplist-entries

Valeurs autorisées : 0+

Par défaut : 128

Type : entier

Modifiable : oui

Les modifications prennent effet : immédiatement sur tous les nœuds du cluster.

Utilisez listpack plutôt que ziplist pour représenter un petit encodage à hachage.

zset-max-ziplist-value

Valeurs autorisées : 0+

Par défaut : 64

Type : entier

Modifiable : oui

Les modifications prennent effet : immédiatement sur tous les nœuds du cluster.

Utilisez listpack plutôt que ziplist pour représenter un petit encodage à hachage.

Paramètres de Redis OSS 6

Note

Dans la version 6.2 du moteur Redis OSS, lorsque la famille de nœuds r6gd a été introduite pour une utilisation avecMise à niveau des données, uniquementnoeviction, volatile-lru et les politiques de allkeys-lru mémoire maximale sont prises en charge avec les types de nœuds r6gd.

Famille de groupes de paramètres : memorydb_redis6

Les paramètres ajoutés dans Redis OSS 6 sont les suivants.

Nom Détails Description
maxmemory-policy

Type : CORDE

Valeurs autorisées : volatile-lru, allkeys-lru, volatile-lfu, allkeys-lfu, volatile-random, allkeys-random, volatile-ttl, noeviction

Par défaut : noeviction

La politique d'expulsion des clés lors de l'utilisation de la mémoire maximale est atteinte.

Pour plus d'informations, voir Utilisation de Redis OSS comme cache LRU Utilisation de Redis OSS comme cache LRU.

list-compress-depth

Type : ENTIER

Valeurs autorisées : 0-

Par défaut : 0

La profondeur de compression correspond au nombre de nœuds des listes compressées et rapides de chaque côté de la liste à exclure de la compression. La tête et la queue de liste ne sont jamais compressées pour les opérations push et pop. Les paramètres sont :
  • 0 : Désactiver toute compression.

  • 1 : Commencer à compresser à partir du 1er nœud de la tête et de la queue.

    [tête]->nœud->nœud->...->nœud->[queue]

    Tous les nœuds sauf [tête] et [queue] sont compressés.

  • 2 : Commencer à compresser à partir du 2e nœud de la tête et de la queue.

    [tête]->[suivant]->nœud->nœud->...->nœud->[préc.]->[queue]

    [tête], [suivant], [préc.], [queue] ne pas compresser. Tous les autres nœuds sont compressés.

  • Etc.

hll-sparse-max-bytes

Type : ENTIER

Valeurs autorisées : 1 à 16 000

Par défaut: 3000

HyperLogLog limite d'octets de représentation clairsemée. La limite inclut l'en-tête de 16 octets. Lorsqu'une HyperLogLog représentation clairsemée dépasse cette limite, elle est convertie en représentation dense.

Une valeur supérieure à 16 000 n'est pas recommandée car à ce stade, la représentation dense est plus efficace en termes de mémoire.

Nous recommandons une valeur d'environ 3000 pour bénéficier des avantages d'un codage peu encombrant sans PFADD trop ralentir, ce qui correspond à O (N) avec un codage clairsemé. La valeur peut être portée à environ 10000 lorsque le processeur n'est pas un problème, mais que l'espace l'est, et que l'ensemble de données est composé de nombreuses données HyperLogLogs dont la cardinalité se situe entre 0 et 15 000.

lfu-log-factor

Type : ENTIER

Valeurs autorisées : 1-

Par défaut: 10

Facteur logarithmique utilisé pour incrémenter le compteur de clés dans le cadre de la politique d'expulsion de la LFU.

lfu-decay-time

Type : ENTIER

Valeurs autorisées : 0-

Valeur par défaut : 1

Le temps, en minutes, nécessaire pour décrémenter le compteur clé de la politique d'expulsion de la LFU.

active-defrag-max-scan-fields

Type : ENTIER

Valeurs autorisées : 1-1000000

Par défaut: 1000

Nombre maximum de champs set/hash/zset/list qui seront traités à partir de l'analyse du dictionnaire principal pendant la défragmentation active.

active-defrag-threshold-upper

Type : ENTIER

Valeurs autorisées : 1-100

Par défaut : 100

Pourcentage maximum de fragmentation à partir duquel nous utilisons l'effort maximum.

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

Type : ENTIER

Valeurs autorisées : 0-

Par défaut: 33554432

Pour les clients de publication/abonnement Redis OSS : si la mémoire tampon de sortie d'un client atteint le nombre d'octets spécifié, le client sera déconnecté.

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

Type : ENTIER

Valeurs autorisées : 0-

Par défaut: 8388608

Pour les clients de publication/abonnement Redis OSS : si la mémoire tampon de sortie d'un client atteint le nombre d'octets spécifié, le client sera déconnecté, mais uniquement si cette condition persiste pendant client-output-buffer-limit-pubsub-soft-seconds.

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

Type : ENTIER

Valeurs autorisées : 0-

Par défaut : 60

Pour les clients de publication/abonnement Redis OSS : si la mémoire tampon de sortie d'un client reste en client-output-buffer-limit-pubsub-soft-limit octets pendant plus de secondes, le client sera déconnecté.

timeout

Type : ENTIER

Valeurs autorisées : 0,20-

Par défaut : 0

Le nombre de secondes qu'un nœud doit attendre avant d'être mis hors service. Les valeurs sont les suivantes :

  • 0 : ne déconnectez jamais un client inactif.

  • 1-19 : valeurs non valides.

  • >=20 : le nombre de secondes pendant lesquelles un nœud attend avant de déconnecter un client inactif.

notify-keyspace-events

Type : CORDE

Valeurs autorisées : NULL

Par défaut : NULL

Les événements keyspace dont Redis OSS doit informer les clients Pub/Sub. Par défaut, toutes les notifications sont désactivées.

maxmemory-samples

Type : ENTIER

Valeurs autorisées : 1-

Valeur par défaut : 3

Pour les time-to-live (TTL) calculs least-recently-used (LRU) et les calculs, ce paramètre représente la taille de l'échantillon de clés à vérifier. Par défaut, Redis OSS choisit 3 clés et utilise celle qui a été utilisée le moins récemment.

slowlog-max-len

Type : ENTIER

Valeurs autorisées : 0-

Valeur par défaut : 128

La longueur maximale du journal lent de Redis OSS. Il n'y a pas de limite à cette longueur. Sachez simplement que cela consommera de la mémoire. Vous pouvez récupérer la mémoire utilisée par le slow log avec SLOWLOG RESET.

activerehashing

Type : CORDE

Valeurs autorisées : oui, non

Par défaut : oui

La table de hachage principal est répétée dix fois par seconde ; chaque nouvelle opération de hachage utilise 1 milliseconde de la durée d'utilisation de l'UC.

Cette valeur est définie lorsque vous créez le groupe de paramètres. Lorsque vous assignez un nouveau groupe de paramètres à un cluster, cette valeur doit être le même dans l'ancien et dans le nouveau groupe de paramètres.

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

Type : ENTIER

Valeurs autorisées : 0-

Par défaut : 0

Si la mémoire tampon de sortie d'un client atteint le nombre d'octets spécifié, le client sera déconnecté. La valeur par défaut est zéro (aucune limite stricte).

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

Type : ENTIER

Valeurs autorisées : 0-

Par défaut : 0

Si la mémoire tampon de sortie d'un client atteint le nombre d'octets spécifié, le client sera déconnecté, mais uniquement si cette condition persiste pour client-output-buffer-limit-normal-soft-seconds. La valeur par défaut est zéro (aucune limite flexible).

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

Type : ENTIER

Valeurs autorisées : 0-

Par défaut : 0

Si la mémoire tampon de sortie d'un client reste à client-output-buffer-limit-normal-soft-limit octets plus longtemps que ce nombre de secondes, le client sera déconnecté. La valeur par défaut est zéro (aucune limite de temps).

tcp-keepalive

Type : ENTIER

Valeurs autorisées : 0-

Valeur par défaut : 300

Si la valeur est une valeur différente de zéro (N), les clients de nœud sont interrogés toutes les N secondes pour s'assurer qu'ils sont toujours connectés. Avec le paramètre par défaut de 0, aucune interrogation de ce type ne se produit.

active-defrag-cycle-min

Type : ENTIER

Valeurs autorisées : 1-75

Par défaut: 5

Effort minimum pour défragmenter en pourcentage d'UC.

stream-node-max-bytes

Type : ENTIER

Valeurs autorisées : 0-

Par défaut: 4096

La structure des données du flux est une arborescence de nœuds radix qui encodent plusieurs éléments à l'intérieur. Utilisez cette configuration pour spécifier la taille maximale d'un nœud unique dans une arborescence radix, exprimée en octets. Si la taille du nœud de l'arborescence est définie sur 0, elle n'est pas limitée.

stream-node-max-entries

Type : ENTIER

Valeurs autorisées : 0-

Par défaut : 100

La structure des données du flux est une arborescence de nœuds radix qui encodent plusieurs éléments à l'intérieur. Utilisez cette configuration pour spécifier le nombre maximal d'éléments que peut contenir un même nœud avant le basculement sur un nouveau nœud lors de l'ajout de nouvelles entrées de flux. S'il est défini sur 0, le nombre d'éléments dans le nœud de l'arborescence est illimité.

lazyfree-lazy-eviction

Type : CORDE

Valeurs autorisées : oui, non

Par défaut : non

Effectuez une suppression asynchrone lors des expulsions.

active-defrag-ignore-bytes

Type : ENTIER

Valeurs autorisées : 1048576-

Par défaut: 104857600

Quantité minimum de fragmentation perdue pour lancer une défragmentation active.

lazyfree-lazy-expire

Type : CORDE

Valeurs autorisées : oui, non

Par défaut : non

Effectuez une suppression asynchrone sur les clés expirées.

active-defrag-threshold-lower

Type : ENTIER

Valeurs autorisées : 1-100

Par défaut: 10

Pourcentage minimum de fragmentation pour lancer une défragmentation active.

active-defrag-cycle-max

Type : ENTIER

Valeurs autorisées : 1-75

Par défaut: 75

Effort maximum pour défragmenter en pourcentage d'UC.

lazyfree-lazy-server-del

Type : CORDE

Valeurs autorisées : oui, non

Par défaut : non

Effectue une suppression asynchrone des commandes qui mettent à jour les valeurs.

slowlog-log-slower-than

Type : ENTIER

Valeurs autorisées : 0-

Par défaut: 10000

Le temps d'exécution maximal, en microsecondes, à dépasser pour que la commande soit enregistrée par la fonctionnalité Redis OSSSlow Log. Notez qu'un nombre négatif désactive le journal lent, tandis qu'une valeur de zéro force l'enregistrement de chaque commande.

hash-max-ziplist-entries

Type : ENTIER

Valeurs autorisées : 0-

Par défaut: 512

Détermine la quantité de mémoire utilisée pour les fonctions de hachage. Les fonctions de hachage avec un nombre d'entrées inférieur à celui spécifié sont stockées à l'aide d'un encodage spécial qui économise de l'espace.

hash-max-ziplist-value

Type : ENTIER

Valeurs autorisées : 0-

Par défaut: 64

Détermine la quantité de mémoire utilisée pour les fonctions de hachage. Les fonctions de hachage avec un nombre d'octets plus petit que le nombre spécifié sont stockées à l'aide d'un encodage spécial qui économise de l'espace.

set-max-intset-entries

Type : ENTIER

Valeurs autorisées : 0-

Par défaut: 512

Détermine que la quantité de mémoire utilisée pour certains types de jeux (chaînes qui sont des entiers de base 10 dans la plage d'entiers signés de 64 bits). De tels jeux avec un nombre d'entrées inférieur à celui spécifié sont stockées à l'aide d'un encodage spécial qui économise de l'espace.

zset-max-ziplist-entries

Type : ENTIER

Valeurs autorisées : 0-

Valeur par défaut : 128

Détermine la quantité de mémoire utilisée pour les jeux triés. Les jeux triés avec un nombre d'éléments inférieur à celui spécifié sont stockés à l'aide d'un encodage spécial qui économise de l'espace.

zset-max-ziplist-value

Type : ENTIER

Valeurs autorisées : 0-

Par défaut: 64

Détermine la quantité de mémoire utilisée pour les jeux triés. Les jeux triés avec des entrées qui ont un nombre d'octets plus petit que le nombre spécifié sont stockés à l'aide d'un encodage spécial qui économise de l'espace.

tracking-table-max-keys

Type : ENTIER

Valeurs autorisées : 1-100000000

Par défaut : 1000000

Pour faciliter la mise en cache côté client, Redis OSS permet de suivre quels clients ont accédé à quelles clés.

Lorsque la clé suivie est modifiée, des messages d'invalidation sont envoyés à tous les clients pour les avertir que leurs valeurs mises en cache ne sont plus valides. Cette valeur vous permet de spécifier la limite supérieure de cette table.

acllog-max-len

Type : ENTIER

Valeurs autorisées : 1 à 10000

Valeur par défaut : 128

Le nombre maximum d'entrées dans le journal ACL.

active-expire-effort

Type : ENTIER

Valeurs autorisées : 1 à 10

Valeur par défaut : 1

Redis OSS supprime les clés qui ont dépassé leur durée de vie par deux mécanismes. Dans l'un, une clé est accessible et a expiré. Dans l'autre, un travail périodique échantillonne les clés et provoque l'expiration de celles qui ont dépassé leur time-to-live. Ce paramètre définit l'effort déployé par Redis OSS pour faire expirer les éléments du travail périodique.

La valeur par défaut de 1 tente d'éviter que plus de 10 % des clés expirées restent en mémoire. Il essaie également d'éviter de consommer plus de 25 % de la mémoire totale et d'ajouter une latence au système. Vous pouvez augmenter cette valeur jusqu'à 10 pour augmenter l'effort consacré aux clés d'expiration. Le compromis est une utilisation CPU plus élevée et une latence potentiellement plus élevée. Nous recommandons une valeur de 1, sauf si vous constatez une utilisation élevée de la mémoire et que vous pouvez tolérer une augmentation de l'utilisation du processeur.

lazyfree-lazy-user-del

Type : CORDE

Valeurs autorisées : oui, non

Par défaut : non

Spécifie si le comportement par défaut de la DEL commande agit de la même manière queUNLINK.

activedefrag

Type : CORDE

Valeurs autorisées : oui, non

Par défaut : non

Défragmentation active de la mémoire activée.

maxclients

Type : ENTIER

Valeurs autorisées : 65000

Par défaut: 65000

Le nombre maximum de clients qui peut être connecté à un moment donné. Non modifiable.

client-query-buffer-limit

Type : ENTIER

Valeurs autorisées : 1048576-1073741824

Par défaut: 1073741824

Taille maximum d'un seul tampon de requête client. Le changement a lieu immédiatement.

proto-max-bulk-len

Type : ENTIER

Valeurs autorisées : 1048576-536870912

Par défaut: 536870912

Taille maximum d'une seule demande d'élément. Le changement a lieu immédiatement.

Paramètres spécifiques au type de nœud MemoryDB

Bien que la plupart des paramètres ont une valeur unique, certains paramètres ont des valeurs différentes en fonction du type de nœud utilisé. Le tableau suivant indique la valeur par défaut maxmemory pour chaque type de nœud. La valeur de maxmemory est le nombre maximal d'octets disponibles que vous pouvez utiliser pour les données et d'autres utilisations, sur le nœud.

Type de nœud 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.r6g.2xlarge 56711183565
db.r6g.4xlarge 113609865216
db.r6g.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
Note

Tous les types d'instances MemoryDB doivent être créés dans un VPC Amazon Virtual Private Cloud.