2016-05-26 5 views
0

私は現在、Windows上でMicrosoft AppFabric CacheからRedisに移行しています。 これまで、私はAppFabricのGetAndLockメソッドを使用していました。 RedisにGetAndLockを実行する方法はありますか? (私はStackExchange.Redis.StrongNameナゲットライブラリを使用しています)。AppFabric Cache to Redis - GetAndLockメソッドと同等ですか?

ありがとうございました。

答えて

0

StackExchange.Redisには、重大なコードセクションが一度に複数回実行されるのを防ぐために、いくつかのロック方法があります。

if (connectionMultiplexer.GetDatabase().LockTake(key, token, duration)) 
{ 
    try 
    { 
     // do stuff 
    } 
    finally 
    { 
     connectionMultiplexer.GetDatabase().LockRelease(key, token); 
    } 
} 

LockExtendLockQuery方法もあります。

さらに詳しい情報については、https://stackoverflow.com/a/25138164/2497886を参照してください。

また、分散ロックに関するredisのドキュメント - http://redis.io/topics/distlockを見る価値があります。

ライブラリーRedLock.netライブラリーは、ディスラック・アルゴリズムを実装しています。ブロック/再試行のようなものをサポートして、ロックと自動ロック拡張を取得します。 (免責事項:私は図書館の著者です)

関連する問題