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.
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:
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.
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.
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:
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.
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.
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