MySQL 如何做分布式锁?

本文阅读 2 分钟
首页 知识库 正文

⽅法⼀:
利⽤ Mysql 的锁表,创建⼀张表,设置⼀个 UNIQUE KEY 这个 KEY 就是要锁的 KEY,所以同⼀个 KEY 在 mysql
表⾥只能插⼊⼀次了,这样对锁的竞争就交给了数据库,处理同⼀个 KEY 数据库保证了只有⼀个节点能插⼊成功,
其他节点都会插⼊失败。
DB分布式锁的实现:通过主键 id 的唯⼀性进⾏加锁,说⽩了就是加锁的形式是向⼀张表中插⼊⼀条数据,该条数
据的 id 就是⼀把分布式锁,例如当⼀次请求插⼊了⼀条 id 为1 的数据,其他想要进⾏插⼊数据的并发请求必须等
第⼀次请求执⾏完成后删除这条 id 为1 的数据才能继续插⼊,实现了分布式锁的功能。
⽅法⼆:
使⽤流⽔号+时间戳做幂等操作,可以看作是⼀个不会释放的锁。

解压密码: detechn或detechn.com

免责声明

本站所有资源出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。

本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户自行鉴别,做一个有主见和判断力的用户。

本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。

分布式 session ⽅案是啥?怎么做的?
« 上一篇 08-02
CAP 理论的理解
下一篇 » 08-02

发表评论