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
,您需要执行以下步骤:
- 将上述 Lua 脚本保存到一个文件中,例如
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,不会执行任何操作。