redis lua腳本 獲取的結果為字符串,如何判斷字符串相等


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM