分布式锁的三种实现方式
1、基于数据库的表
实现分布式锁定的最简单方法是直接创建一个锁定表并使用该表中的数据。

2、如果要锁定方法或资源,请在表中添加一条记录,以便在解除锁定时删除该记录。

3、基于数据库的独占锁定
除了在操作数据表中添加和删除记录外,还可以使用数据库中提供的锁实现分布式锁定。

4、
还使用刚创建的数据库表。 可以使用数据库的独占锁来实现分布式锁定。

5、如果在查询语句后添加for update,则数据库会在查询过程中向数据库表添加一个排它锁。 向记录添加独占锁时,其他线程无法向记录添加独占锁。

6、乐观锁
乐观锁定通常不会导致数据冲突。 只有在提交和更新数据时,才会检测到数据冲突。 如果检测到冲突,则返回错误消息。
基于Redis的分布式锁定

7、与基于数据库的分布式锁定相比,基于高速缓存的实现可提高性能。 此外,还可以在群集中放置大量缓存,以解决单点问题。

1、1、基于数据库的表 实现分布式锁定的最简单方法是直接创建一个锁定表并使用该表中的数据。
2、如果要锁定方法或资源,请在表中添加一条记录,以便在解除锁定时删除该记录。
3、基于数据库的独占锁定 除了在操作数据表中添加和删除记录外,还可以使用数据库中提供的锁实现分布式锁定。
4、 还使用刚创建的数据库表。 可以使用数据库的独占锁来实现分布式锁定。
5、如果在查询语句后添加for update,则数据库会在查询过程中向数据库表添加一个排它锁。 向记录添加独占锁时,其他线程无法向记录添加独占锁。
6、乐观锁乐观锁定通常不会导致数据冲突。 只有在提交和更新数据时,才会检测到数据冲突。 如果检测到冲突,则返回错误消息。 基于Redis的分布式锁定
7、与基于数据库的分布式锁定相比,基于高速缓存的实现可提高性能。 此外,还可以在群集中放置大量缓存,以解决单点问题。