在 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 脚本。