SpringBoot整合Redisson,赶紧整起来!
SpringBoot整合Redisson
- 一、Redisson 是什么?
- 二、使用场景
- 三、使用步骤
- 1.引入相关依赖
- 2.application.yml配置
- 3.创建RedissonConfig
- 4.开始使用
- 总结
提示:以下是本篇文章正文内容
一、Redisson 是什么?
Redisson是一个基于Java的开源的、高级的Redis客户端,它实现了Redis的分布式和响应式特性,Redisson能够让Java开发者更方便地与Redis进行交互。
简单来说Redisson就是一个Redis的客户端,比RedisTemplate更高级,更简单。
二、使用场景
- 分布式锁(最常用)Redisson实现分布式锁是非常简单的
@Resource
private RedissonClient redissonClient;RLock rLock = redissonClient.getLock(lockName);
try {boolean isLocked = rLock.tryLock(expireTime, TimeUnit.MILLISECONDS);if (isLocked) {// TODO}} catch (Exception e) {rLock.unlock();}
- 基于redis实现队列
三、使用步骤
1.引入相关依赖
<dependencies><!-- redisson --><dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.20.0</version><exclusions><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId></exclusion></exclusions></dependency>
</dependencies>
2.application.yml配置
配置如下:
spring:redis:database: 1host: xxxport: xxxpassword: xxx # 密码(默认为空)timeout: 6000ms # 连接超时时长(毫秒)jedis:pool:max-active: 1000 # 连接池最大连接数(使用负值表示没有限制)max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)max-idle: 10 # 连接池中的最大空闲连接min-idle: 5 # 连接池中的最小空闲连接
3.创建RedissonConfig
编写类 RedissonConfig.java
package com.uhu.redis;import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.client.codec.StringCodec;
import org.redisson.config.Config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class RedissonConfig {@Value("${spring.redis.database}")private int database;@Value("${spring.redis.host}")private String host;@Value("${spring.redis.port}")private String port;@Value("${spring.redis.password}")private String password;@Bean(value = "redissonClient", destroyMethod = "shutdown")public RedissonClient redissonClient() throws Exception {Config config = new Config();config.useSingleServer().setAddress(String.format("redis://%s:%s", this.host, this.port));if (!this.password.isEmpty()) {config.useSingleServer().setPassword(this.password);}config.useSingleServer().setDatabase(this.database);StringCodec codec = new StringCodec();config.setCodec(codec);return Redisson.create(config);}}
4.开始使用
@Resource
private RedissonClient redissonClient;
总结
通过以上几个简单的步骤,我们就可以完成Redisson整合,希望对你有用