在 Redis 中,DECR
命令用于將存儲在指定鍵中的值減一。如果您想要為 DECR
命令設置一個默認值,可以使用 Lua 腳本來實現這一功能。以下是一個示例:
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
這個腳本接受兩個參數:一個是要操作的鍵,另一個是默認值。如果鍵不存在或者值為非數字,腳本將使用默認值。否則,它將執行 DECR
操作并返回結果。
redis-cli --eval decr_with_default.lua mykey , 10
這將使用默認值 10 對鍵 mykey
執行 DECR
操作。
注意:在實際應用中,您可能需要根據您的需求和場景調整 Lua 腳本。