Redisson
2026年2月24日大约 1 分钟
Redisson
Redisson 是一个基于Redis的基础上实现的Java分布式工具集合。提供了分布式锁、分布式集合、分布式队列等功能,简化了分布式系统的开发。
Redisson快速入门
- 添加依赖
<dependency> <groupId>org.redisson</groupId> <artifactId>redisson</artifactId> <version>3.16.4</version> </dependency> - 配置Redisson客户端
@Configuration public class RedissonConfig { @Bean public RedissonClient redissonClient() { // 配置类 Config config = new Config(); // 添加Redis地址,及其密码,并配置为单机模式,如果是集群模式需要使用config.useClusterServers()方法 config.useSingleServer().setAddress("redis://localhost:6379").setPassword("yourpassword"); // 创建Redisson客户端 return Redisson.create(config); } } - 使用Redisson分布式锁
Redisson提供了RLock接口来实现分布式锁的功能:- 获取锁:
getLock方法获取锁对象。 - 尝试获取锁:
tryLock方法尝试获取锁,支持设置等待时间(失败后会重试)和锁的过期时间。 - 释放锁:
unlock方法释放锁。
@Resource private RedissonClient redissonClient; @Test public void testRedissonLock() { // 获取锁(可重入),指定锁名称 RLock lock = redissonClient.getLock("myLock"); // 尝试获取锁,等待时间为5秒(期间内会重试),锁的过期时间为10秒,最后是时间单位 boolean isLock = lock.tryLock(5, 10, TimeUnit.SECONDS); if (isLock) { try { System.out.println("获取锁成功,执行业务逻辑"); } finally { // 释放锁 lock.unlock(); } } } - 获取锁: