业务需求:redis 实现最简单的get 和set操作,set的数据是字符串

1、当key不存在时,返回 -1

2、当 get的值为 "0"时, set值并设置过期时间,返回1

3、当get的值不为"0"时,返回-2

lua脚本:

if (redis.call('exists', KEYS[1]) == 1) then
local temp = redis.call('get', KEYS[1])
if(temp == "\"0\"") then
redis.call('set',KEYS[1],ARGV[1])
redis.call('expire', KEYS[1],ARGV[2])
return 1
end
return -2
end
return -1

注意: redis中存储的是 "0", redis.call()的返回值temp是 ""0"" ,所以需要 这样判断:temp == "\"0\""
posted on 2021-11-25 17:37  毛会懂  阅读(1820)  评论(0编辑  收藏  举报