分布式锁有哪些实现方式?reids是如何实现分布式锁的?讲一讲Redisson1.
当我们的客户端向Redis发送请求时,会用到Redisson框架,然后请求根据hash算法底层会执行lua脚本来到Redis并加锁。
2.如果加锁成功会启动看门狗机制,看门狗机制是用来给锁设置生存时间的,默认时间是30秒,如果客户端死机了,线程不执行了锁会在30秒后自动删除,另外如果客户端用所时长超过30秒看门狗还会对锁进行时间续期,一般是加十秒,当线程执行完时就又会删除锁
3.当其他客户端要用锁时就会判断能不能加锁,如果不能就会循环尝试,直到可以加锁为止。实现分布式锁的原理