Redis进阶应用:Redis+Lua脚本实现复合操作(2)
这里借用一下官网的例子。
大家可以简单地将KEYS[1],KEYS[2], ARGV[1],ARGV[2]理解为占位符。 3.2 执行脚本文件和缓存脚本 如果只能在命令行中写脚本执行,遇到复杂的脚本程序岂不是会抓狂? 下面我们来看一下,如何让Redis执行Lua脚本文件,同时也验证一下lua脚本的复用特性(以后我们再也不需要定期批量删除某些符合特定规则的key了)。
Redis提供了一个SCRIPTLOAD命令,命令后面的script即为Lua脚本。命令将脚本script添加到脚本缓存中,但并不立即执行这个脚本。执行命令后,Redis会返回一个SHA1串,第二个EVALSHA命令即可执行。 需要注意的是,脚本可以在缓存中保留无限长的时间,直到执行完SCRIPT FLUSH。我们来看一下效果。
3.3 使用Lua脚本实现compare and set
下面我们来测试一下这个脚本。
(编辑:ASP站长网) |