redis - AppFabric 缓存到 Redis - 等效于 GetAndLock 方法?

标签 redis stackexchange.redis appfabric-cache

我目前正在从 Microsoft AppFabric Cache 迁移到 Windows 上的 Redis。 过去,我使用的是 AppFabric 的 GetAndLock 方法。 Redis 中是否有执行 GetAndLock 的方法? (我正在使用 StackExchange.Redis.StrongName block 库)。

谢谢。

最佳答案

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 算法,并支持阻塞/重试获取锁和自动锁扩展等功能。 (免责声明:我是图书馆的作者)

关于redis - AppFabric 缓存到 Redis - 等效于 GetAndLock 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37465260/

相关文章:

redis - Airflow 是否支持通过 TLS 连接代理 url?

Redis内存重启

c# - StackExchange.Redis 是否在内存缓存中使用本地?

redis - Redis 键过期时间的上限和下限

appfabric-cache - 获取appfabric中的所有命名缓存

redis - 如何在redis中获取所有键及其值

redis性能——最多删除100条记录?

c# - ConnectionMultiplexer 如何处理断开连接?

c# - AppFabric 1.0错误服务器集合不能为空

c# - 如何以编程方式识别 Windows AppFabric 服务是否正在运行?