2

Redis をランダム シード キャッシュとして使用したいと考えています。キーの値が必要なとき、まだ何もない場合は、ランダムな文字列を生成し、後で再利用できるように保存します。

アトミックを実行するにはどうすればよいGET EXISTING OR SET AND RETURN THIS VALUEですか?

4

2 に答える 2

6

SETNX を使用して、最初に値を設定してみてください。次に、GET は、既存の値または設定しようとした新しい値を提供します。

SETNX key value

これが新しい値かどうかを知りたい場合は、0 または 1 が返されることがあります。

于 2013-03-10T06:55:46.470 に答える
1

これを実行できる単一のコマンドはないようです。MULTIおよびを使用するWATCH

初め:

GET key

の場合null、次のようになります。

WATCH key
MULTI
    SET key value
EXEC

(トランザクションが中止されたことを示す)場合[null]、キーはその間に作成され、今までに存在している必要があります。

GET key
于 2013-03-10T03:12:07.650 に答える