7

有没有办法只在 Redis 中尚未设置时才进行原子集?

具体来说,我正在创建一个像“myapp:user:user_email”这样的用户,如果“user_email”已经被占用,我希望 Redis 给我一个错误,而不是默默地替换旧值。像声明,而不是替换。

4

1 回答 1

8

SETNX

如果键不存在,则将键设置为保存字符串值。在这种情况下,它等于 SET。当 key 已经持有值时,不进行任何操作。SETNX 是“SET if Not e Xists”的缩写。

您可以检查返回值。如果为 0,则未设置密钥,这意味着它已经存在。

于 2013-04-23T03:33:48.433 回答