Redis:如果密钥存在,则引发错误



我正在开发一个应用程序,我在 Redis 中放置了一些键。如果给定的键存在,Redis 应该引发错误。

[由于并发问题,我无法读取密钥,然后更新 Redis。我也不能写一段关键代码。]

Redis 可以这样配置吗?

Redis 不能配置为引发错误,但您可以使用 SETNX 命令设置新密钥,使其如果它已存在,则不会发生任何操作。如果键不存在并且我们设置了其值,则 SETNX 的返回值为 1,如果它存在且我们无法设置新值,则返回值为 0。

例如:

127.0.0.1:6379> SETNX foo bar
(integer) 1 
127.0.0.1:6379> get foo
"bar"
127.0.0.1:6379> SETNX foo baz
(integer) 0
127.0.0.1:6379> get foo
"bar"

请注意,再次调用 SETNX 将返回 0,并且键中的值未更改。

相关内容

  • 没有找到相关文章

最新更新