关于 redis 的 lua 脚本原子性问题

28次阅读

共计 240 个字符,预计需要花费 1 分钟才能阅读完成。

实现功能: key 不存在则设置 key value 同时设置过期时间返回 true, 存在则不操作返回 false.
用的是 springboot1.5, 由于老版本 redistemplate 的 setnx 不能设置过期时间, 打算用 lua 脚本.
以下这段脚本是否有原子性问题
请大佬解答, 谢谢
if redis.call(‘setnx’, KEYS[1], ARGV[1]) == 1
then redis.call(‘expire’, KEYS[1], ARGV[2]) return true
else return false end

正文完
 0