redis-lua
只要redis的版本超过了2.6,那就兼容lua脚本。
执行lua脚本命令
eg.
./redis-cli -h addres -a password -n 几号库 --eval lua脚本的绝对路径 KEYS[1]…KEYS[n] , ARGV[1] ARGV[2] …ARGV[n]
注意:keys和argv之间的逗号前后都要有一个空格,使用默认库可不用-n
zrangebyscore
zrangebyscore key min max withscores limit 0 1
根据键中的score来排序(升序),withscores表示显示这个字段的所有数据,limit 表示显示几个。
关于编写lua脚本的一些注意事项:
1.编写lua脚本中,数值的比较一定要用tonumber()转换一下在比较。
2.脚本中print的内容将会在服务端显示。客户端显示的是return的结果
3.lua脚本中定义变量尽量都用local
4.pairs是一定会全部遍历,ipairs则不一定。但是遍历时两个都是键值对形成遍历,要用两个变量接收,以备使用。
5.key的值可直接遍历KEYS,或者使用索引eg。KEYS[1],ARGV也可直接遍历ARGV获得参数的值,或使用索引来获取eg。ARGV[1]
6.if … then …end for … in pairs() do end,注意规范以及end