Redis 分布式锁的实现

1. Redis 分布式锁说明

Java 实现 Redis 分布式锁案例已经上传到笔者的GitHub,欢迎下载参考,如有错误希望大佬指正。

在大多数情况下,应该都是使用成熟的分布式锁框架,如 Redisson。这里只是根据 Redisson 部分源码思想进行的个人摸索,编写了一个利用Redis实现的分布式可重入锁,包含看门狗对锁进行续期。

1.1 什么是 Redis 分布式锁

  • 在 Java 中提供了 synchronized 和 Lock 锁,来保证多线程程序中的线程安全问题。
  • 分布式锁指的是,在分布式系统,不同的进程中,访问共享资源的一张锁的实现。

如果不同的系统或同一个系统的不同主机之间共享了某个临界资源,往往需要互斥来防止彼此干扰,以保证一致性。

阅读更多

SpringBoot项目连接多源MySQL数据库

说明(主要是实现的思路)

对于使用 SpringBoot 中使用 MySQL 的项目来说,可能会面临一个 SpringBoot 项目连接多个不同的 MySQL 数据库。这里针对普通的 SpringBoot 项目进行实现。关注点在查询前,数据库选择上进行定义。Demo 项目代码已经放到了我的 GitHub,是 SpringBoot + MyBatis 的测试项目。通过注解,选择不同的数据库。可能大家在参考的时候会出现各种奇奇怪怪的问题(细心能解决大部分问题哈)

阅读更多