首页 > 图灵资讯 > java面试题>正文

金三银四精选java面试题-Redis分布式锁底层是如何实现的?

2023-12-19 15:09:00

 

redis分布式锁底层是如何实现的?

  1. 首先利用setnx来保证:如果key不存在才能获取到锁,如果key存在,则获取不到锁
  2. 然后还要利用lua脚本来保证多个redis操作的原子性
  3. 同时还要考虑到锁过期,所以需要额外的一个看门狗定时任务来监听锁是否需要续约
  4. 同时还要考虑到redis节点挂掉后的情况,所以需要采用红锁的方式来同时向N/2+1个节点申请锁,都申请到了才证明获取锁成功,这样就算其中某个redis节点挂掉了,锁也不能被其他客户端获取到
 

 


 
上一篇 金三银四精选java面试题-Redis有哪些数据结构?分别有哪些典型的应用场景?
下一篇 金三银四精选java面试题-Redis主从复制的核心原理

文章素材均来源于网络,如有侵权,请联系管理员删除。