要是key超时后业务还没执行完咋办呢
来源:4-4 如何实现分布式锁
fenkapian
2020-03-31
请教一下,要是有线程成功调用了set方法,然后直到key过期,该线程需要执行的业务代码还没执行完。而这时其他线程又成功调用了set方法,访问了之前被锁住的同一资源,那是不是还是会出现线程不安全的问题
?
写回答
1回答
-
同学好,所以key的超时设置只是以防万一,通常需要根据系统得实际情况,也就是压测之后的响应请求最长时间的1.5倍进行设置。而且你设置足够长也没关系的,毕竟只有异常的情况会意外退出,才会导致锁在没有超时的情况下不被释放,而通常情况下,请求处理完之后,就会释放掉锁了,所以设置成一点无所谓。如果你设置了10分钟,处理还没完成,那么是不是处理有问题了,用户也不会去等10分钟呢。。
032020-11-10
相似问题