网站数据库网络错误怎么解决方案,广东手机网站建设报价表,域名注册信息在哪里找到,安徽网站推广系统推荐链接#xff1a; 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD… 推荐链接 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoDB】 总结——》【Elasticsearch】 Redis——》如何评估锁过期时间 一、锁过期的场景二、锁过期的解决方案方案1尽量冗余过期时间方案2加入看门狗守护线程 一、锁过期的场景
key的失效时间是10s但是客户端C在拿到分布式锁之后然后业务逻辑执行超过10s那么问题来了在客户端C释放锁之前其实这把锁已经失效了那么客户端A和客户端B都可以去拿锁这样就已经失去了分布式锁的功能了
二、锁过期的解决方案
方案1尽量冗余过期时间
降低锁提前过期的概率但这个方案并不能完美解决问题。
方案2加入看门狗守护线程
加锁时先设置一个预估的过期时间然后开启一个守护线程定时去检测这个锁的失效时间如果锁快要过期了操作共享资源还未完成那么就自动对锁进行续期重新设置过期时间。这个守护线程我们一般把它叫做看门狗线程。