Politiques Redis Maxmemory

Politiques Redis Maxmemory
Cet article discutera de la politique de Redis MaxMemory et comment vous pouvez l'utiliser comme cache LRU.

Qu'est-ce que la politique de redis d'expulsion?

Comme son nom l'indique, une stratégie d'expulsion est une fonctionnalité qui permet à Redis de «expulser» ou de supprimer les anciennes données à mesure que de nouvelles données sont ajoutées. Il s'agit d'une caractéristique incroyable principalement lorsque Redis est utilisé comme système de mise en cache.

Directive Redis MaxMemory

Dans le fichier de configuration Redis, une directive appelée MaxMemory dicte la quantité de mémoire allouée à un ensemble de données.

Bien que vous puissiez configurer le maxmemory au moment de l'exécution à l'aide de la commande config set, le redis.Le fichier Conf vous permet de le définir en mode persistance.

Pour définir la valeur maxMemory à l'exécution, connectez-vous sur redis CLI et entrez la commande:

Config Set Maxmemory 100

La commande ci-dessus définira la valeur maxmemory sur 100 Mo à l'exécution. Vous pouvez obtenir la valeur définie actuelle pour MaxMemory à l'aide de la commande:

127.0.0.1: 6379> Config Get MaxMemory *

Cela devrait revenir:

1) "Maxmemory-Policy"
2) "Noviction"
3) "Échantillons maxmemory"
4) "5"
5) "Maxmemory"
6) "100"

Le premier est la politique d'expulsion. Cela dicte la façon dont les données sont supprimées après que le maxmemory est atteint.

Remarque: Définir le maxmemory sur 0 garantit qu'il n'y a pas de limites. Pour les systèmes 64 bits, cela est défini sur par défaut. Sur les systèmes 332 bits, Redis utilisera jusqu'à 3 Go.

Comment fonctionne le processus d'expulsion

Mais comment fonctionne exactement ce processus d'expulsion?

Cela se produit en 4 étapes simples.

  1. Tout d'abord, le client exécute la commande pour ajouter de nouvelles données.
  2. Avant l'exécution de la commande, Redis vérifie si l'utilisation de la mémoire est supérieure à la limite maxmemory définie.
  3. Si la limite est atteinte, elle utilise la politique d'expulsion spécifiée pour supprimer les clés.
  4. Enfin, la commande est exécutée et de nouvelles données sont ajoutées.

Politiques d'expulsion redis

Nous continuons à mentionner les politiques d'expulsion. Que sont-ils, et que font-ils?

En termes simples, une politique d'expulsion définit les règles de la façon dont Redis expulse une clé lorsque la limite de mémoire est atteinte.

Il existe deux catégories de politiques d'expulsion dans Redis.

Politiques d'expulsion générale

La première catégorie est des politiques d'expulsion générales. Ces politiques s'appliquent à toute clé qui n'a pas de valeur d'expiration.

Ils comprennent:

Noviction

Cette politique d'expulsion indique à Redis de ne pas supprimer de données lorsque la limite de mémoire est atteinte. Au lieu de cela, Redis renverra une erreur et échouera à exécuter la commande Ajouter des données.

Cette politique est fortement applicable lorsque vous devez supprimer les clés manuellement ou empêcher la perte de données accidentelles.

AllKeys-lru

La deuxième politique est AllKeys-lru. Ce type de politique expulse tout le moins récemment utilisé ou LRU.

Cette politique suppose que vous n'avez pas besoin des clés récemment utilisées et les expulse. Il empêche Redis de se déchaîner en cas de limite de mémoire.

AllKeys-Random

Cette politique supprimera les clés dans n'importe quel ordre aléatoire. Ceci est une excellente politique lorsque les clés de votre base de données sont de même importance.

Politiques d'expulsion volatile

Ces types de politiques d'expulsion reposent sur des clés avec des valeurs d'expiration. Ils comprennent:

Volatie-random

Cette politique d'expulsion supprime les clés d'une valeur d'expiration dans n'importe quel ordre aléatoire. Il est similaire à la politique AllKeys-Random, sauf qu'elle ne supprime que les clés expirées.

Volatile-ttl

La politique volatile-TTL supprime les clés avec un temps d'expiration mais choisit celui avec les plus brefs temps pour vivre en premier.

Volatile-lru

Similaire à Volatile-TTL mais supprime d'abord les touches les moins fréquemment utilisées.

Conclusion

Ceci est une introduction à Redis Maxmemory et aux politiques d'expulsion. Vous pouvez en savoir plus sur les règles d'expulsion Redis dans la ressource ci-dessous.

https: // redis.IO / sujets / lru-cache