Redis 连接关闭时密钥过期
我试图使用redis获得分布式锁。在谷歌搜索之后,我找到了一个解决方案 但这种解决方案的问题是: 如果应用程序崩溃。无法在超时之前恢复锁。我想要的是,在连接关闭时自动终止密钥。Redis 连接关闭时密钥过期,redis,Redis,我试图使用redis获得分布式锁。在谷歌搜索之后,我找到了一个解决方案 但这种解决方案的问题是: 如果应用程序崩溃。无法在超时之前恢复锁。我想要的是,在连接关闭时自动终止密钥。 redis中是否有任何命令/过期设置?用于在连接关闭时使密钥过期 不,redis不为您这样做(您只能在客户端这样做) 要缓解此死锁问题,您可以存储上次采集的时间戳,并使用该时间戳确定锁是否仍然有效或是否为死锁 如果锁中存储的值设置得太早(例如current_time-lock_time>timeout),则获取锁的客户
redis中是否有任何命令/过期设置?用于在连接关闭时使密钥过期 不,redis不为您这样做(您只能在客户端这样做) 要缓解此死锁问题,您可以存储上次采集的时间戳,并使用该时间戳确定锁是否仍然有效或是否为死锁 如果锁中存储的值设置得太早(例如current_time-lock_time>timeout),则获取锁的客户端将忽略它 注意:这需要同步客户端的时钟 编辑: 如果LUA是您的一个选项,那么您不需要客户端具有同步时钟