redisson官方网站: https://redisson.org
Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。其中包括(BitSet、Set、Multimap、SortedSet、Map、List、Queue、BlockingQueue、Deque、BlockingDeque、Semaphore、Lock、AtomicLong、CountDownLatch、Publish / Subscribe、Bloom filter、Remote service、Spring cache、Executor service、Live Object service、Scheduler service) Redisson提供了使用Redis的最简单和最便捷的方法。Redisson的宗旨是促进使用者对Redis的关注分离(Separation of Concern),从而让使用者能够将精力更集中地放在处理业务逻辑上。
有兴趣的可以查看redisson官方wiki。
1、在POM文件中添加依赖
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson-spring-boot-starter</artifactId>
<version>3.8.2</version>
</dependency>2、添加redisson配置
#Redisson配置 https://github.com/redisson/redisson/wiki/2.-%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95
singleServerConfig:
address: redis://127.0.0.1:6379
password: null
clientName: null
database: 2 #选择使用哪个数据库0~15
idleConnectionTimeout: 10000
pingTimeout: 1000
connectTimeout: 10000
timeout: 3000
retryAttempts: 3
retryInterval: 1500
reconnectionTimeout: 3000
failedAttempts: 3
subscriptionsPerConnection: 5
subscriptionConnectionMinimumIdleSize: 1
subscriptionConnectionPoolSize: 50
connectionMinimumIdleSize: 32
connectionPoolSize: 64
dnsMonitoringInterval: 5000
#dnsMonitoring: false
threads: 0
nettyThreads: 0
codec:
class: "org.redisson.codec.JsonJacksonCodec"
transportMode: "NIO"具体想加什么配置,可见官方配置wiki。
3、添加启动配置类
@Configuration
public class RedissonConfig {
@Bean
public RedissonClient redisson() throws IOException {
// 本例子使用的是yaml格式的配置文件,读取使用Config.fromYAML,如果是Json文件,则使用Config.fromJSON
Config config = Config.fromYAML(RedissonConfig.class.getClassLoader().getResource("redisson-config.yml"));
return Redisson.create(config);
}
}4、添加测试用例
@SpringBootTest(classes = {EbootApplication.class})
public class RedissonTest{
@Autowired
private RedissonClient redissonClient;
@Test
public void testRedisson() throws Exception {
for (int i = 0; i < 10; i++) {
new Thread(() -> {
RLock fairLock = redissonClient.getFairLock("anyLock");
// 尝试加锁,最多等待5秒,上锁以后100秒自动解锁
Boolean res = null;
try {
res = fairLock.tryLock(2, 100, TimeUnit.SECONDS);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(res);
}).start();
}
Thread.sleep(10000);
}
}5、执行结果

至此,就完成了redisson在springboot中的配置。更多使用可查阅官方wiki。