程序员PHP经验分享redis学习

让redis操作更简单:为不同数据类型封装统一的命令

2018-06-18  本文已影响11人  solohunter

Redis内置了Lua解释器,可以运行一段lua脚本,完成相对复杂的操作。

实现一个简单的操作:创建一个hash类型的key,并设置过期时间,lua代码如下

local values = {}; 
for i,v in ipairs(KEYS) do 
    values[#values+1] = redis.pcall('hmset', v, ARGV[2], ARGV[3], ARGV[4], ARGV[5]); 
    redis.pcall('expire', v, ARGV[1]);
end
return {KEYS,values};

执行脚本

$ redis-cli --eval ./scripts/hash.lua hash_1 , 100 name maria age 22
1) 1) "hash_1"
2) 1) OK

查看key

127.0.0.1:6379> hgetall hash_1
1) "name"
2) "maria"
3) "age"
4) "22"
127.0.0.1:6379> ttl hash_1
(integer) 88

封装统一API即使用redis内置的lua解释器实现,支持string, hash, list, set, zset 5种数据类型。

目前已封装的api如下:

更多内容见 github

上一篇 下一篇

猜你喜欢

热点阅读