我正在开发一个应用程序,我在Redis中放了一些密钥。如果给定的密钥存在,Redis应该引发错误。
[由于并发问题,我无法读取密钥然后更新Redis。我也写不出一条关键代码。 ]
可以用这种方式配置Redis吗?
答案 0 :(得分:1)
无法将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,并且键中的值不会更改。