堆叠交换.AppFabric缓存到Redis-等效于GetAndLock方法



我目前正在从Microsoft AppFabric Cache迁移到Windows上的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);
}
}

还有LockExtendLockQuery方法。

请参阅https://stackoverflow.com/a/25138164/2497886了解更多详细信息。

还值得一看关于分布式锁的redis文档http://redis.io/topics/distlock.

RedLock.net库实现了distlock算法,并支持阻塞/重试以获得锁和自动锁扩展等功能。(免责声明:我是图书馆的作者)

相关内容

最新更新