提示:以下是本篇文章正文内容
Redisson是一个基于Java的开源的、高级的Redis客户端,它实现了Redis的分布式和响应式特性,Redisson能够让Java开发者更方便地与Redis进行交互。
简单来说Redisson就是一个Redis的客户端,比RedisTemplate更高级,更简单。
@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();
}
<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>
配置如下:
spring:
redis:
database: 1
host: xxx
port: xxx
password: xxx # 密码(默认为空)
timeout: 6000ms # 连接超时时长(毫秒)
jedis:
pool:
max-active: 1000 # 连接池最大连接数(使用负值表示没有限制)
max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)
max-idle: 10 # 连接池中的最大空闲连接
min-idle: 5 # 连接池中的最小空闲连接
编写类 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);
}
}
@Resource
private RedissonClient redissonClient;
通过以上几个简单的步骤,我们就可以完成Redisson整合,希望对你有用