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

3 篇文章 0 订阅

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如下:

  • create:创建key
  • createNotExists: 在key不存在时创建,否则不创建
  • createExists: 在key存在时创建,否则不创建
  • update: 更新key值,可更改ttl,或保持原ttl
  • updateBatch: 批量更新
  • insert:插入值,例如向列表或集合插入元素
  • insertNotExists:类似createNotExists
  • insertExists:类型createExists
  • get:获取key值(多个)
  • getAndSet: 获取key并设置新的值
  • find:获取key值(单个)
  • findBatch:批量获取
  • destroy:销毁key
  • destroyBatch:批量销毁
  • delete:删除key(多个)

更多内容见 github

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值