Spring Boot Redis 实现分布式锁,真香!!
之前看很多人手写分布式锁,其实 Spring Boot 现在已经做的足够好了,开箱即用,支持主流的 Redis、Zookeeper 中间件,另外还支持 JDBC。 本篇栈长以 Redis 为例(这也是用得最多的方案),教大家如何利用 Spring Boot 集成 Redis 实现缓存,如何简单、快速实现 Redis 分布式锁。 分布式锁介绍 Spring Boot 实现 Redis 分布式锁在 spring-integration 这个项目中,参考: https://docs.spring.io/spring-integration/docs/5.3.1.RELEASE/reference/html/redis.html#redis-lock-registry 首先来看下 LockRegistry 锁注册接口的所有实现类结构图: DefaultLockRegistry 就是纯单机的可重入锁, PassThruLockRegistry 是一个空实现类,也都没有什么利用价值。 Spring Integration 4.0 引入了基于 Redis 的分布式锁: RedisLockRegistry ,并且从 5.0 开始实现了 ExpirableLockRegistry 接口,用来移除超时且没有用的锁。 分布式锁实战 添加依赖 上面提到 Spring Boot 实现 Redis 分布式锁在