Spring Boot数据库实现分布式锁的简单方法是什么?
- 内容介绍
- 相关推荐
本文共计2037个文字,预计阅读时间需要9分钟。
1. 简介及分布式锁类型 分布式锁实现方式多样,常见案例包括:基于MySQL、基于Redis、基于ZooKeeper等。本文主要介绍使用MySQL实现简单分布式锁的流程,如右图所示:
1.简介
分布式锁的方式有很多种,通常方案有:
- 基于mysql数据库
- 基于redis
- 基于ZooKeeper
网上的实现方式有很多,本文主要介绍的是如果使用mysql实现简单的分布式锁,加锁流程如下图:
其实大致思想如下:
1.根据一个值来获取锁(也就是我这里的tag),如果当前不存在锁,那么在数据库插入一条记录,然后进行处理业务,当结束,释放锁(删除锁)。
2.如果存在锁,判断锁是否过期,如果过期则更新锁的有效期,然后继续处理业务,当结束时,释放锁。如果没有过期,那么获取锁失败,退出。
本文共计2037个文字,预计阅读时间需要9分钟。
1. 简介及分布式锁类型 分布式锁实现方式多样,常见案例包括:基于MySQL、基于Redis、基于ZooKeeper等。本文主要介绍使用MySQL实现简单分布式锁的流程,如右图所示:
1.简介
分布式锁的方式有很多种,通常方案有:
- 基于mysql数据库
- 基于redis
- 基于ZooKeeper
网上的实现方式有很多,本文主要介绍的是如果使用mysql实现简单的分布式锁,加锁流程如下图:
其实大致思想如下:
1.根据一个值来获取锁(也就是我这里的tag),如果当前不存在锁,那么在数据库插入一条记录,然后进行处理业务,当结束,释放锁(删除锁)。
2.如果存在锁,判断锁是否过期,如果过期则更新锁的有效期,然后继续处理业务,当结束时,释放锁。如果没有过期,那么获取锁失败,退出。

