業務需求: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\""
