Redis 连接关闭时密钥过期

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

我试图使用redis获得分布式锁。在谷歌搜索之后,我找到了一个解决方案

但这种解决方案的问题是: 如果应用程序崩溃。无法在超时之前恢复锁。我想要的是,在连接关闭时自动终止密钥。
redis中是否有任何命令/过期设置?用于在连接关闭时使密钥过期

不,redis不为您这样做(您只能在客户端这样做)

要缓解此死锁问题,您可以存储上次采集的时间戳,并使用该时间戳确定锁是否仍然有效或是否为死锁

如果锁中存储的值设置得太早(例如current_time-lock_time>timeout),则获取锁的客户端将忽略它

注意:这需要同步客户端的时钟

编辑:

如果LUA是您的一个选项,那么您不需要客户端具有同步时钟