Redis
 sql >> Base de données >  >> NoSQL >> Redis

Comment définir l'expiration sur plusieurs clés dans Redis

Souvent, les développeurs oublient de définir une expiration sur les clés et redis commence à manquer de mémoire. Bien que vous puissiez définir une expiration pour les clés nouvellement générées, vous avez toujours besoin d'un moyen de définir une expiration pour les clés déjà en mémoire.


Cette commande définira l'expiration des clés correspondant aux utilisateurs :*


Comment fonctionne le script ?

  1. Tout d'abord, nous utilisons redis-cli --scan --pattern <pattern> pour obtenir une liste de clés, une clé par ligne.
  2. Nous exécutons ensuite un script awk pour chaque clé. Ce script awk est un peu complexe, nous allons donc le décomposer
  3. Le script awk a un modèle de commande expire __key__ 1000 . Il s'agit de la commande qui s'exécutera pour toutes les clés.
  4. Pour chaque clé correspondante, la commande awk remplace __key__ avec la clé réelle
  5. Ensuite, nous convertissons la commande de chaîne au format de protocole Redis. Il s'agit du format brut que redis comprend.
  6. Enfin, nous dirigeons les commandes brutes vers redis-cli en utilisant l'indicateur –pipe. C'est le moyen le plus efficace d'envoyer des commandes groupées à redis.

Personnalisation de ce script

  1. Vous pouvez personnaliser cmd_template pour exécuter n'importe quelle commande redis à clé unique sur plusieurs clés correspondant à un modèle.
  2. L'analyse Redis n'autorise que les modèles de style glob, l'expression régulière n'est pas prise en charge. Donc users:* correspondra à users:123 ainsi que users:123:favourites . Vous pouvez mettre un grep dans le pipeline après le premier redis-cli et avant le script awk.
  3. Si votre serveur Redis n'est pas sur localhost, vous devrez fournir l'hôte, le port et le mot de passe deux fois dans la commande, essentiellement chaque fois que vous appelez redis-cli.

Voir aussi

  • Renommer les champs dans un hachage
  • Renommer plusieurs clés à l'aide de Scan
  • Supprimer les clés correspondant à un modèle
  • L'interface graphique RDBTools pour Redis vous permet de prévisualiser vos actions groupées et fournit une interface graphique puissante pour gérer les données dans Redis. C'est un téléchargement gratuit !