SETIFABSENT
是一个 Lua 脚本的名称,它可以在 Redis 中使用 EVAL 或 EVALSHA 命令执行
if redis.call("get",KEYS[1]) == false then
return redis.call("set",KEYS[1],ARGV[1])
else
return 0
end
要在 Redis 中使用 SETIFABSENT
,您需要执行以下步骤:
setifabsent.lua
。EVAL
或 EVALSHA
命令执行脚本。您需要提供脚本名称、键(key)和值(value)作为参数。示例:
# 使用 EVAL 命令执行脚本
EVAL "$(cat setifabsent.lua)" 1 mykey myvalue
# 使用 EVALSHA 命令执行脚本(如果已经为脚本生成了 SHA1 哈希值)
EVALSHA "your_sha1_hash" 1 mykey myvalue
在这个示例中,如果键 mykey
不存在,那么脚本将设置键的值为 myvalue
。如果键已经存在,脚本将返回 0,不会执行任何操作。