SETIFABSENT
是一個 Lua 腳本的名稱,它可以在 Redis 中使用 EVAL 或 EVALSHA 命令執(zhí)行
if redis.call("get",KEYS[1]) == false then
return redis.call("set",KEYS[1],ARGV[1])
else
return 0
end
要在 Redis 中使用 SETIFABSENT
,您需要執(zhí)行以下步驟:
setifabsent.lua
。EVAL
或 EVALSHA
命令執(zhí)行腳本。您需要提供腳本名稱、鍵(key)和值(value)作為參數。示例:
# 使用 EVAL 命令執(zhí)行腳本
EVAL "$(cat setifabsent.lua)" 1 mykey myvalue
# 使用 EVALSHA 命令執(zhí)行腳本(如果已經為腳本生成了 SHA1 哈希值)
EVALSHA "your_sha1_hash" 1 mykey myvalue
在這個示例中,如果鍵 mykey
不存在,那么腳本將設置鍵的值為 myvalue
。如果鍵已經存在,腳本將返回 0,不會執(zhí)行任何操作。