Script redis lua

Script redis lua

Redis est une base de données gratuite en open source en mémoire largement adoptée en tant que mécanisme de mise en cache ou courtier de messages.

Bien qu'il soit très polyvalent et étendu par défaut, il vous permet d'étendre les fonctionnalités en utilisant son interprète LUA intégré. Cela signifie que vous pouvez écrire des scripts écrits dans LUA pour effectuer des opérations supplémentaires sur votre base de données Redis.

Exigences

Pour mieux suivre ce tutoriel, nous avons recommandé d'avoir la dernière version du serveur Redis sur votre système.

Les connaissances de base redis sont bénéfiques pour comprendre les commandes illustrées dans ce tutoriel.

Commande Redis Eval

Pour exécuter les commandes LUA dans Redis, vous devez utiliser la commande EVAL. La commande indique à redis d'exécuter le code en tant que script LUA côté serveur.

Un exemple est comme indiqué:

127.0.0.1: 6379> Eval "redis.Appelez («set», touches [1], argv [1]) "1 valeur de clé

Dans l'exemple ci-dessus, nous commençons par la commande EVAL suivie d'un script LUA. Le script utilise le redis.fonction d'appel. Nous transmettons ensuite la commande pour exécuter, clé et valoriser comme les arguments. Ceci est similaire à l'exécution des valeurs de clé définie.

Notez que les clés et l'argv désignent les arguments du script. Nous spécifions le nombre de clés comme 1 dans ce cas.

L'analyse de l'argument se fait via l'ARGV, qui tient le tableau d'argument. Dans notre cas, nous passons la valeur de la clé.

Nous pouvons ensuite accéder aux touches à partir de l'index 1.

NOTE: Il est recommandé de spécifier toutes les touches utilisées dans le script sous clés et tous les autres arguments sous Argv.

Nous pouvons récupérer la valeur d'une clé en utilisant la commande get:

127.0.0.1: 6379> Eval "redis.Appelez («Get», Keys [1]) "1 clé

Cela devrait renvoyer la valeur de la clé spécifiée.

Commande Redis Evalsha

Redis vous fournit également la commande Evalsha pour rappeler une commande en fonction de sa valeur de hachage.

Cela supprime la nécessité de retaper le script chaque fois que vous en avez besoin.

Exemple:

Chargement du script "Return redis.Appelez («Get», Keys [1]) "

La commande ci-dessus doit renvoyer une valeur SHA comme:

"4E6D8FC8BB01276962CCE5371FA795A7763657AE"

Vous pouvez ensuite utiliser cette valeur SHA pour rappeler une commande.

127.0.0.1: 6379> Évaluation 4E6D8FC8BB01276962CCE5371FA795A7763657AE 1
"valeur"

Pour supprimer tous les scripts chargés, exécutez la commande:

127.0.0.1: 6379> Script Rlush
D'ACCORD

La commande ci-dessus devrait rincer le cache de script.

Conclusion

Cet article décrit les commandes les plus élémentaires à utiliser lorsque vous travaillez avec Lua Scripting in Redis. Vérifiez la documentation LUA pour en savoir plus.