2017-10-30 8 views
0

私はRedisにキーを入れているアプリケーションを開発しています。指定されたキーが存在する場合、Redisはエラーを発生させるはずです。Redis:キーが存在するとエラーが発生する

[並行処理の問題が原因で、キーを読み取ってからRedisを更新できません。私はクリティカルなコードを書くこともできません。 ]

Redisはこのように設定できますか?

答えて

1

Redisはエラーを発生するように構成することはできませんが、すでに存在する場合は、SETNXコマンドを使用して何も起こらないように新しいキーを設定できます。 キーが存在せず、その値を設定すると、SETNXの戻り値は1になり、存在し、新しい値を設定できなかった場合は0になります。例えば

:SETNXを呼び出すと、再び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" 

は注意してください。

関連する問題