采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
用Redisson设置key的过期时间是大于1天的,但是用TTL查看key的过期时间异常。具体如下图:目测像是在从30 倒数到20之后又变成30,一直这样循环。请问老师有遇到过这种情况吗?
这是Redisson的一个Watchdog的设计,就是延迟锁的有效期,它为什么要这么呢?原因就在于使用Redis做分布式锁的时候过期时间不太好把握,比如设置了1000,当A程序执行到一半可能这个锁就失效了,那么其他程序比如B它有可能就会获取到这把锁,从而导致安全问题,因此Redisson为了解决这个问题就设置的watchdog,自动延长锁的过期时间,直到你程序释放锁为止,这个自动续命的时间默认是30s
从现在的表现来看,我设置的过期时间是大于一天的。她的TTL在循环倒数几次以后key就没了……
你把代码贴一下,我看看
谢谢老师解答,我就用的是课程中的代码。 boolean isLocked = lock.tryLock(expireTime, TimeUnit.MILLISECONDS); 我感觉这样写好像并不是在上锁且设置过期时间.而是在等待时间内去获取锁
登录后可查看更多问答,登录/注册
以项目整合Redis各种场景,从此轻松应对各类Redis难题
1.2k 11
2.2k 9
1.0k 8
742 7
1.0k 7