2011-11-14 16 views
1

redisのエンティティをシリアル化されたバイナリBLOBとして格納するアプリケーションで作業します。同じデータセットで複数のクライアントが作業しているので、楽観的同時実行性を使用したいと考えています。Redisと楽観的同時実行制御:可能ですか?

私の要件は、これらです:

  1. が戻っRedisのにmodifiendエンティティを書く1往復
  2. に特定のキーのシリアライズされた実体を読みます。他のクライアントが読み取りと書き込みの間でエンティティを変更した場合、操作は失敗します。

これは赤字で可能ですか?もしそうなら、これを実行するためにはどのようなredisコマンドを実行する必要がありますか?

+0

私はWATCH-MULTI-EXEC(転写コマンド)が役立つと思います –

答えて

3

WATCH key,GET key,MULTI,SET key,EXECWATCHを実行してからキーの値が変更された場合、EXECは失敗します。 StackExchange.Redisライブラリを使用して誰のための

http://redis.io/topics/transactions#cas

0

、それは単一の接続を多重化し、その接続を共有する2つの要求に対して予想されるように、上記のチェックと、設定されたパターンは動作しない可能性があることに注意してください。 link

+0

リンクが壊れています... –

関連する問題