分布式锁实现原理与方案综述.pdfVIP

  • 0
  • 0
  • 约1.56千字
  • 约 6页
  • 2026-07-26 发布于北京
  • 举报

分布式锁的实现原理

一、锁

1.线程锁

lock(mutex)

资源操作

unlock(mutex)

2.进程锁(nginx中accept锁-共享内存+信号量)

3.分布式锁在不同机器的进程的锁

二、分布式锁的实现方案

a)数据库redis,mysql

b)zookeeper

三、分布式锁有哪些特征

a)互斥性

b)可重入性一个进程允许递归获取锁(需要递归释放锁)

c)锁超时(进程crash掉,需要考虑释放分布式锁)

d)高效、高可用(redis,zk)(最后一样,一直一样)

e)公平锁和非公平锁按获取锁顺序执行,反之就是随机执行

四、redis实现

a)获取锁

b)执行逻辑

c)释放锁

方案1:

获取锁:setnx(key,val)只有在key不存在的时候,才能设置成功。成功收到+ok,失败收到

nil。使用setnx(key,val)需要使

文档评论(0)

1亿VIP精品文档

相关文档