教程 > Redis教程 > Redis 命令 阅读:24

Redis 脚本

EVAL简介


从2.6.0版开始,EVALEVALSHA使用Redis内置的Lua解释器执行脚本。 EVAL 的基本语法

redis 127.0.0.1:6379> EVAL "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}" 2 key1 key2 first second
1) "key1"
2) "key2"
3) "first"
4) "second"

EVAL的第一个参数是Lua 5.1脚本。 该脚本不需要定义Lua函数(也应该没有)。 它只是一个Lua程序,将在Redis服务器的上下文中运行。

EVAL的第二个参数是表示Redis中用于脚本的键名的数量(从第三个参数开始)。 Lua可以使用KEYS全局变量以基于一个的数组形式访问参数(KEYS[1],KEYS[2],...)。 上面示例中的2 表示后面有两个指定的键名——key1和key2。

剩余的是额外的参数,可以使用ARGV来获取,比如上面示例中的 first 和 second 就是传给Lua脚本的额外的参数,分别使用ARGV[1]和ARGV[2]获取。

相关命令


下面是Redis脚本常用的命令:

序号 命令 说明
1 EVAL 执行Lua脚本
2 EVALSHA 执行Lua脚本
3 SCRIPT DEBUG 订阅一个或多个符合给定模式的频道
4 SCRIPT EXISTS 查看指定的脚本是否已经被保存在缓存当中
5 SCRIPT FLUSH 从脚本缓存中移除所有脚本
6 SCRIPT KILL 杀死当前正在运行的 Lua 脚本
7 SCRIPT LOAD 将脚本 script 添加到脚本缓存中,但并不立即执行这个脚本

查看笔记

扫码一下
查看教程更方便