题记:
Redis 脚本使用 Lua 解释器来执行脚本。 Reids 2.6 版本通过内嵌支持 Lua 环境。执行脚本的常用命令为 EVAL。
语法:
redis 127.0.0.1:6379> EVAL script numkeys key [key ...] arg [arg ...]
例如:
127.0.0.1:6379> EVAL "return {KEYS[1],KEY[2],ARGV[1],ARGV[2]}" 2 key1 key2 first second
(error) ERR Error running script (call to f_56424a2e6d8c042760d06de310ad266efa76d55d): @enable_strict_lua:15: user_script:1: Script attempted to access unexisting global variable 'KEY'
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"
127.0.0.1:6379>
脚本命令:
序号 命令及描述
1 EVAL script numkeys key [key ...] arg [arg ...] 执行 Lua 脚本。
2 EVALSHA sha1 numkeys key [key ...] arg [arg ...] 执行 Lua 脚本。
3 SCRIPT EXISTS script [script ...] 查看指定的脚本是否已经被保存在缓存当中。
4 SCRIPT FLUSH 从脚本缓存中移除所有脚本。
5 SCRIPT KILL 杀死当前正在运行的 Lua 脚本。
6 SCRIPT LOAD script 将脚本 script 添加到脚本缓存中,但并不立即执行这个脚本。