分布式锁
- 在单机系统中,同一个进程中的多线程之间共享数据,使用Mutex互斥锁;保证线程的逐一顺序执行。
- 在分布式系统中,为保证服务端的某个方法同一时间只被客户端的一个进程调用,也需要加一把锁,这个就是分布式锁。
实现方法
- 基于关系数据库实现
- 基于redis实现
- 基于zookeeper实现
基于关系数据库实现
基于关系数据库实现分布式锁
也有两种方式
- 基于表(lock)
在这里插入代码片
- 基于innodb存储引擎的行锁
在这里插入代码片
基于redis实现
setnx -> get -> getset 命令组
在这里插入代码片
上一篇:Redis发布订阅