AppFabric 缓存到 Redis - 等效于 GetAndLock 方法?
AppFabric Cache to Redis - equivalent of the GetAndLock method?
我目前正在 Windows 从 Microsoft AppFabric Cache 迁移到 Redis。
过去,我使用的是 AppFabric 的 GetAndLock 方法。
Redis 中是否有执行 GetAndLock 的方法? (我正在使用 StackExchange.Redis.StrongName 金块库)。
谢谢。
StackExchange.Redis 有一些锁定方法,如果您试图保护关键代码部分不被 运行 一次多次。
if (connectionMultiplexer.GetDatabase().LockTake(key, token, duration))
{
try
{
// do stuff
}
finally
{
connectionMultiplexer.GetDatabase().LockRelease(key, token);
}
}
还有LockExtend
和LockQuery
方法。
有关更多详细信息,请参阅 。
关于分布式锁的 redis 文档也值得一看 - http://redis.io/topics/distlock。
RedLock.net库实现了distlock算法,支持blocking/retrying获取锁和自动锁扩展。 (免责声明:我是图书馆的作者)
我目前正在 Windows 从 Microsoft AppFabric Cache 迁移到 Redis。 过去,我使用的是 AppFabric 的 GetAndLock 方法。 Redis 中是否有执行 GetAndLock 的方法? (我正在使用 StackExchange.Redis.StrongName 金块库)。
谢谢。
StackExchange.Redis 有一些锁定方法,如果您试图保护关键代码部分不被 运行 一次多次。
if (connectionMultiplexer.GetDatabase().LockTake(key, token, duration))
{
try
{
// do stuff
}
finally
{
connectionMultiplexer.GetDatabase().LockRelease(key, token);
}
}
还有LockExtend
和LockQuery
方法。
有关更多详细信息,请参阅 。
关于分布式锁的 redis 文档也值得一看 - http://redis.io/topics/distlock。
RedLock.net库实现了distlock算法,支持blocking/retrying获取锁和自动锁扩展。 (免责声明:我是图书馆的作者)