Redis をランダム シード キャッシュとして使用したいと考えています。キーの値が必要なとき、まだ何もない場合は、ランダムな文字列を生成し、後で再利用できるように保存します。
アトミックを実行するにはどうすればよいGET EXISTING OR SET AND RETURN THIS VALUE
ですか?
Redis をランダム シード キャッシュとして使用したいと考えています。キーの値が必要なとき、まだ何もない場合は、ランダムな文字列を生成し、後で再利用できるように保存します。
アトミックを実行するにはどうすればよいGET EXISTING OR SET AND RETURN THIS VALUE
ですか?
SETNX を使用して、最初に値を設定してみてください。次に、GET は、既存の値または設定しようとした新しい値を提供します。
SETNX key value
これが新しい値かどうかを知りたい場合は、0 または 1 が返されることがあります。
これを実行できる単一のコマンドはないようです。MULTI
およびを使用するWATCH
:
初め:
GET key
の場合null
、次のようになります。
WATCH key
MULTI
SET key value
EXEC
(トランザクションが中止されたことを示す)場合[null]
、キーはその間に作成され、今までに存在している必要があります。
GET key