使用redis的setnx方法来保证锁的原子性,获取锁,执行结束释放锁

但是有几个问题

1.如果执行过程中有异常,锁就不会释放  。 可以使用try catch 解决

2.如果服务器挂了,锁也不会释放, 所以锁要设置超时时间 超过了会自动释放锁

3.设置了超时时间10秒,但执行过程很慢要15秒,10秒锁就过期,其他线程拿到会有问题

  所以有一个线程观察超时时间到了,还没执行完给它延长超时时间

 使用Redission

Redis做分布式锁

相关文章:

  • 2021-07-29
  • 2021-12-08
  • 2021-05-20
  • 2021-04-06
猜你喜欢
  • 2021-12-06
  • 2022-12-23
  • 2021-04-11
  • 2021-07-09
  • 2021-07-06
  • 2022-12-23
  • 2022-01-02
相关资源
相似解决方案