在 Redis 中,DECR
命令用于將存儲在指定鍵中的值減一。如果您想要為 DECR
命令設(shè)置一個默認(rèn)值,可以使用 Lua 腳本來實現(xiàn)這一功能。以下是一個示例:
decr_with_default.lua
,并在其中編寫以下代碼:local key = KEYS[1]
local default_value = tonumber(ARGV[1]) or 0
local value = tonumber(redis.call('GET', key) or '')
local result = value - 1
if result < 0 then
result = default_value
end
return result
這個腳本接受兩個參數(shù):一個是要操作的鍵,另一個是默認(rèn)值。如果鍵不存在或者值為非數(shù)字,腳本將使用默認(rèn)值。否則,它將執(zhí)行 DECR
操作并返回結(jié)果。
redis-cli --eval decr_with_default.lua mykey , 10
這將使用默認(rèn)值 10 對鍵 mykey
執(zhí)行 DECR
操作。
注意:在實際應(yīng)用中,您可能需要根據(jù)您的需求和場景調(diào)整 Lua 腳本。