Configurations Redis compatibles

Cette page décrit les règles de mémoire maximale et d'autres paramètres de configuration Redis disponibles pour Memorystore pour Redis. Vous n'avez pas besoin de redémarrer votre instance Redis si vous ajustez une configuration.

Pour obtenir des instructions sur la modification des configurations répertoriées ci-dessous, consultez la page Configurer des instances Redis.

Règles de mémoire maximale

Si la mémoire de votre instance est saturée et qu'une nouvelle écriture arrive, Redis supprime les clés conformément à la règle de mémoire maximale de l'instance afin de libérer de l'espace pour l'écriture. La règle de mémoire maximale par défaut pour Memorystore pour Redis est volatile-lru. Vous pouvez également utiliser l'une des règles de mémoire maximale suivantes :

  • noeviction : renvoie une erreur lorsque l'instance Redis atteint la mémoire maximale. N'écrase ni ne supprime aucune donnée.
  • allkeys-lfu : disponible dans les versions 4.0 ou ultérieures de Redis. Supprime les clés les moins utilisées (LFU, least frequently used) de la collection de clés.
  • allkeys-lru : supprime les clés les moins récemment utilisées (LRU, least recently used) de la collection de clés.
  • volatile-lfu : disponible dans les versions 4.0 ou ultérieures de Redis. Supprime les clés les moins fréquemment utilisées définies avec les valeurs d'expiration TTL (Time To Live).
  • volatile-lru : supprime les clés les moins récemment utilisées (LRU) définies avec les valeurs d'expiration TTL.
  • allkeys-random : supprime les clés aléatoires de tout l'espace de clés.
  • volatile-random : supprime les clés aléatoires parmi celles définies avec des valeurs d'expiration TTL.
  • volatile-ttl : supprime les clés avec la valeur TTL la plus courte parmi celles définies avec des valeurs d'expiration TTL.

Paramètres de configuration modifiables

Vous pouvez modifier les paramètres suivants lorsque vous créez ou mettez à jour une instance Memorystore pour Redis.


Paramètre Description Valeurs acceptables
activedefrag Versions 4.0 ou ultérieures de Redis. Permet de libérer la mémoire de l'instance liée au comportement de la fragmentation de la mémoire OSS Redis standard. no (par défaut)
yes
lazyfree-paresseux-éviction Redis version 7.0 ou ultérieure. Active/désactive l'utilisation sans latence pour l'éviction. no désactive cette configuration. Pour en savoir plus, consultez la page REDIS.CONF. no (par défaut)
yes
lazyfree-lazy-expire Redis version 7.0 ou ultérieure. Active/désactive l'actualisation différée pour l'expiration. no désactive cette configuration. Pour en savoir plus, consultez la page REDIS.CONF. no (par défaut)
yes
lazyfree-lazy-user-del Redis version 7.0 ou ultérieure. Active/désactive l'actualisation différée pour l'utilisateur DEL. no désactive cette configuration. Pour en savoir plus, consultez la page REDIS.CONF. no (par défaut)
yes
lazyfree-lazy-user-flush Redis version 7.0 ou ultérieure. Active/désactive l'actualisation différée pour le vidage de l'utilisateur. no désactive cette configuration. Pour en savoir plus, consultez la page REDIS.CONF. no (par défaut)
yes
lfu-decay-time Versions 4.0 ou ultérieures de Redis. Le temps, exprimé en minutes, avant que le compteur de fréquence LFU pour une clé donnée soit divisé par deux (ou diminué de 1 si le compteur est inférieur à 10). Pour en savoir plus, consultez le fichier REDIS.CONF. Entiers positifs de type de données "long"
(valeur par défaut = 1)
lfu-log-factor Versions 4.0 ou ultérieures de Redis. Détermine comment le compteur de fréquence représente les réussites de clés. Avant de modifier la configuration par défaut, découvrez le fonctionnement de la configuration lfu-log-factor dans le fichier REDIS.CONF. Entiers positifs de type de données "long"
(valeur par défaut = 10)
maxmemory-clients Redis 7.0 ou version ultérieure. Cette configuration permet aux utilisateurs de contrôler l'utilisation maximale de la mémoire des clients.

Utilisation totale de la mémoire des clients normaux/pubsub. Si la limite est atteinte, le client qui utilise le plus de mémoire est supprimé.
La valeur par défaut est 0% (pas de limite). Les valeurs acceptées sont des nombres entiers en pourcentage compris entre 0% et 100%. Représente le pourcentage de mémoire maximale de l'instance auquel le stockage client est limité.
maxmemory-gb Définit une limite ajustable à laquelle votre règle d'éviction prend effet. Par exemple, si vous disposez d'une instance de 10 Go et que vous définissez maxmemory-gb sur 8, votre règle d'éviction prend effet lorsque vos données occupent 8 Go de la mémoire de l'instance. Cela vous laisse 2 Go de mémoire. Par défaut, maxmemory-gb est défini sur la capacité de votre instance. Pour en savoir plus sur l'utilisation de la configuration maxmemory-gb, consultez les bonnes pratiques concernant la gestion de la mémoire de Memorystore.

Cette configuration est affichée sous la forme maxmemory-percent dans la console Google Cloud. Lorsque vous utilisez la console, définissez maxmemory-percent comme un pourcentage de la capacité de votre instance au lieu d'un nombre spécifique de Go.
Nombre de Go, exprimé sous forme de nombre entier ou décimal.
Exemples :
10 désigne un paramètre maxmemory-gb de 10 Go.
1.5 désigne un paramètre maxmemory-gb de 1,5 Go.
maxmemory-gb peut être réduit au minimum à 20 % de la capacité de votre instance.
maxmemory-policy Spécifie le comportement de Redis lorsque les données de l'instance atteignent la limite maxmemory-gb. Pour obtenir une description du comportement de chaque règle, consultez la section Règles de mémoire maximale.

Pour en savoir plus sur les règles de mémoire maximale du logiciel Open Source Redis, consultez la page concernant le cache LRU du logiciel Open Source Redis.
noeviction
allkeys-lru
volatile-lru (par défaut)
allkeys-random
volatile-random
volatile-ttl
volatile-lfu (Redis version 4.0 ou ultérieure)
allkeys-lfu (Redis version 4.0 ou ultérieure)
notify-keyspace-events Permet aux clients de s'abonner aux notifications liées à certains événements de l'espace de clés. Pour en savoir plus, consultez la page Redis Keyspace Notifications (Notifications sur l'espace de clés Redis) sur le site de Redis. "" (par défaut)
K
Événements de l'espace de clés, publiés avec le préfixe __keyspace@__.
E
Événements Keyevent publiés avec le préfixe __keyevent@__.
g
Commandes génériques (non spécifiques au type) telles que DEL, EXPIRE ou RENAME
$
Commandes de type chaîne
l
Commandes de type liste
s
Commandes de type définition
h
Commandes de hachage
z
Commandes d'ensembles triés
x
Événements expirés (événements générés chaque fois qu'une clé expire)
e
Événements supprimés (événements générés lorsqu'une clé est supprimée en raison de la mémoire maximale atteinte)
A
Alias de g$lshzxe, de sorte que la chaîne "AKE" désigne tous les événements.
stream-node-max-bytes Versions 5.0 ou ultérieures de Redis. La structure de données de flux Redis utilise une arborescence Radix pour stocker les éléments. Le paramètre stream-node-max-bytes définit le nombre maximal d'octets disponibles pour stocker des éléments dans un seul nœud de l'arborescence. Une fois cette limite atteinte, les nouveaux éléments sont stockés dans un nouveau nœud d'arborescence. Entiers égaux ou supérieurs à 0
(par défaut = 4 096)
0 désigne un nœud d'arborescence de taille illimitée.
stream-node-max-entries Versions 5.0 ou ultérieures de Redis. La structure de données de flux Redis utilise une arborescence Radix pour stocker les éléments. Le paramètre stream-node-max-entries définit le nombre d'éléments pouvant être stockés dans un seul nœud. Lorsque cette limite est atteinte, les nouveaux éléments sont stockés dans un nouveau nœud d'arborescence. Entiers égaux ou supérieurs à 0
(par défaut = 100)
0 désigne un nœud d'arborescence avec un nombre illimité d'éléments.
timeout Nombre de secondes avant l'arrêt des connexions client inactives. Toutefois, si timeout est défini sur 0, les clients inactifs n'expirent pas et restent connectés jusqu'à ce que le client lui-même se déconnecte. 0 (par défaut)
Entiers >= 120
Unité = secondes

Paramètres de configuration non modifiables

Le tableau suivant répertorie les paramètres de configuration Redis que vous ne pouvez pas modifier dans Memorystore pour Redis et leurs valeurs par défaut. Pour en savoir plus sur ces paramètres de configuration, consultez la documentation sur la configuration Redis.

Paramètres Valeur par défaut
lua-time-limit 5000
hash-max-ziplist-entries 2 048
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 3 000
activerehashing oui
hz 10
databases 16
maxclients 65 000
slowlog-log-slower-than 10000
slowlog-max-len 128
repl-diskless-load swapdb
io-threads-do-reads oui

Étapes suivantes