redis - 在 Redis 中使所有键默认过期

标签 redis locks content-expiration

我使用 MSETNX ( http://redis.io/commands/msetnx ) 作为锁定系统,只有当不存在任何锁时,所有的键才会被锁定。

如果持有锁的机器挂掉了,那把锁就会被锁住——这是个问题。

我的理想答案是默认情况下所有 key 在 15 秒内过期,因此即使机器死机,它持有的锁也会在短时间内自动重置。这样我就不必在我设置的每个键上调用 expire。

这有可能吗?

最佳答案

要构建高可用的可靠锁,请查看此文档:http://redis.io/topics/distlock

该算法仍处于测试阶段,但在几个 session 中进行了压力测试,并且可能比单实例方法可靠得多。

有几种语言的引用实现(链接在文档中)。

关于redis - 在 Redis 中使所有键默认过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24785702/

相关文章:

amazon-web-services - 使用 ALB 对 redis 容器进行健康检查

php - 如何将数组添加到redis?

memory - 对 redis 集进行尺寸标注

python - redis 锁定 : redispy vs python-redis-lock

google-chrome - 如果页面显示在 FRAME 中,谷歌浏览器不支持页面标题中的缓存策略

c 线程和资源锁定

java - 我是否应该同步监听器通知?

c++ - 如何用 "try_lock"做 "upgrade_to_unique_lock"

iis - 内容过期 - IIS 6