SpringBoot集成redisson全过程
更新时间:2024年10月28日 10:05:33 作者:却诚Salong
本文主要介绍了如何集成Redisson,包括环境配置、引入Redisson的依赖、添加Redisson的配置类以及Redisson的常见使用方法,在类中注入Redisson后,可以获取锁对象和使用,这些都是作者的个人经验,供读者参考
SpringBoot集成redisson
1.首先需要已经集成redis的环境
如何集成redis这里不做描述。
2.引入redisson的依赖
(这里使用的是3.14.1版本)
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson</artifactId>
<version>3.14.1</version>
</dependency>3.添加redisson的配置类
package com.salong.framework.config;
import lombok.Data;
import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Data
@Configuration
public class RedissonConfig {
@Value("${spring.redis.host}")
private String host;
@Value("${spring.redis.port}")
private String port;
@Value("${spring.redis.password}")
private String password;
@Bean
public RedissonClient getRedisSon() {
Config config = new Config();
String address = new StringBuilder("redis://").append(host).append(":").append(port).toString();
config.useSingleServer().setAddress(address);
if (null != password && !"".equals(password.trim())) {
config.useSingleServer().setPassword(password);
}
return Redisson.create(config);
}
}其中,我这里使用的是单机的redis,如果是其他方式(主从,哨兵,集群)的话,按照下面的进行修改配置即可。

4.redisson的常见使用
4.1 在类中注入redisson
@Autowired
private RedissonClient redissonClient;4.2 获取锁对象和使用。
public void test(){
//竞争的锁对象名称
RLock lock = redissonClient.getLock("lockName");
//tryLock可以不加参数,不会抛异常,仅尝试获取一次锁对象
//tryLock(5,10,TimeUnit.SECONDS)意思为等待锁对象5秒钟,获取到对象10秒钟后释放锁对象,调用此方法会抛出异常
if (lock.tryLock()){
try {
//处理业务逻辑代码......
}finally {
lock.unlock();
}
}
//lock.isLocked()误区:此方法不是判断当前线程是否被锁定,而是判断该锁对象当前是否被任意线程所持有。
// 所以不能使用if(lock.isLocked()){lock.unlock();}的写法来释放锁。
boolean locked = lock.isLocked();
//当前线程释放锁对象
lock.unlock();
}总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Spring Cloud 负载均衡器 Ribbon原理及实现
这篇文章主要介绍了Spring Cloud 负载均衡器 Ribbon原理及实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-03-03
IKAnalyzer使用不同版本中文分词的切词方式实现相同功能效果
今天小编就为大家分享一篇关于IKAnalyzer使用不同版本中文分词的切词方式实现相同功能效果,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2018-12-12


最新评论