0
私はRedisにキーを入れているアプリケーションを開発しています。指定されたキーが存在する場合、Redisはエラーを発生させるはずです。Redis:キーが存在するとエラーが発生する
[並行処理の問題が原因で、キーを読み取ってからRedisを更新できません。私はクリティカルなコードを書くこともできません。 ]
Redisはこのように設定できますか?
私はRedisにキーを入れているアプリケーションを開発しています。指定されたキーが存在する場合、Redisはエラーを発生させるはずです。Redis:キーが存在するとエラーが発生する
[並行処理の問題が原因で、キーを読み取ってからRedisを更新できません。私はクリティカルなコードを書くこともできません。 ]
Redisはこのように設定できますか?
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"
は注意してください。