springboot怎么使用Redisson

在Spring Boot中使用Redisson主要涉及以下几个步骤:

  1. **添加依赖**:在项目的`pom.xml`文件中添加`redisson-spring-boot-starter`依赖。例如:

    <dependency> <groupId>org.redisson</groupId> <artifactId>redisson-spring-boot-starter</artifactId> <version>3.23.5</version> </dependency>

注意,不需要添加`spring-boot-starter-data-redis`依赖,因为`redisson-spring-boot-starter`已经包含了所需的Spring Data Redis模块 。

  1. **配置属性**:在`application.yml`或`application.properties`中配置Redisson的连接属性,如数据库、主机、端口、密码等。例如:

    spring:
    redis:
    database: 0
    host: localhost
    port: 6379
    password: yourpassword
    timeout: 5s
    connect-timeout: 5s

如果使用的是Spring Boot 2.x,需要使用`spring.redis`命名空间代替`spring.data.redis` 。3. **使用RedissonClient**:在Spring Boot应用中注入`RedissonClient` Bean,并使用它来访问Redisson提供的各种功能,例如分布式锁、原子变量、集合等。例如:

   @Autowired
   RedissonClient redissonClient;

   @Test
   public void test() throws InterruptedException {
       // 使用RedissonClient获取分布式锁
       Lock lock = redissonClient.getLock("counterLock");
       try {
           lock.lock();
           // 临界区代码
       } finally {
           lock.unlock();
       }
   }

这样,你就可以利用Redisson的强大功能来简化分布式应用的开发 。

  1. **配置集群模式**:如果使用Redis集群,可以在配置文件中指定集群节点的地址列表,例如:

    spring:
    redis:
    cluster:
    nodes: "192.168.52.1:7000,192.168.52.1:7001,192.168.52.1:7002"
    password: 123456

然后在`RedissonConfig`配置类中根据这些地址初始化Redisson实例 。

  1. **自定义配置**:可以通过创建配置类来自定义Redisson的配置,例如设置连接池大小、超时时间等 。

通过这些步骤,你可以在Spring Boot应用中轻松地集成Redisson,并利用它提供的各种功能来增强应用的分布式处理能力。


Redisson是一个基于Redis的Java驻内存数据网格,提供了丰富的API,用于实现分布式数据结构和服务。以下是一些Redisson中常用且实用的API:

  1. **分布式集合**:Redisson提供了多种分布式集合的实现,如`RSet`(集合)、`RMap`(映射)、`RList`(列表)、`RQueue`(队列)、`RDeque`(双端队列)等 。

  2. **原子变量**:例如`RAtomicLong`和`RAtomicDouble`,它们支持原子操作,可以用来实现计数器等场景 。

  3. **分布式锁**:`RLock`提供了可重入锁的功能,支持多种锁模式,如公平锁、联锁、红锁等 。

  4. **同步器**:除了锁之外,Redisson还提供了其他同步器,如`Semaphore`(信号量)、`CountDownLatch`(闭锁)、`CyclicBarrier`(循环屏障)等 。

  5. **发布/订阅**:`RTopic`支持发布和订阅模式,可以用来实现异步消息传递 。

  6. **布隆过滤器**:`RBloomFilter`提供了布隆过滤器的实现,用于高效地进行数据存在性检测 。

  7. **地理空间**:`RGeo`提供了对Redis Geo数据结构的操作,可以存储和查询地理位置信息 。

  8. **位集**:`RBitSet`提供了位集合的操作,适用于需要表示大量独立开关状态的场景 。

  9. **二进制流**:`RBinaryStream`提供了对二进制流数据的操作能力 。

  10. **分布式服务**:如`ExecutorService`(执行服务)、`SchedulerService`(调度任务服务)等,这些服务利用Redisson的分布式特性来执行分布式任务 。

  11. **数据序列化**:Redisson支持多种数据序列化方式,如JSON、二进制序列化等,可以通过`Codec`配置来选择不同的序列化方式 。

  12. **缓存策略**:Redisson提供了映射持久化方式,如Read-through、Write-through和Write-behind等,以适应不同的缓存策略需求 。

  13. **分布式锁的自动续期**:Redisson内部实现了一个监控锁的看门狗,以避免锁死状态,它会在Redisson实例关闭前不断延长锁的有效期 。

这些API使Redisson成为一个功能强大、灵活的分布式应用开发工具。开发者可以根据具体需求选择适当的API来构建高效的分布式系统。

相关推荐
奈葵30 分钟前
Spring Boot/MVC
java·数据库·spring boot
落霞的思绪30 分钟前
Redis实战(黑马点评)——涉及session、redis存储验证码,双拦截器处理请求
spring boot·redis·缓存
liuyunshengsir1 小时前
Spring Boot 使用 Micrometer 集成 Prometheus 监控 Java 应用性能
java·spring boot·prometheus
何中应2 小时前
Spring Boot中选择性加载Bean的几种方式
java·spring boot·后端
2013crazy3 小时前
Java 基于 SpringBoot+Vue 的校园兼职平台(附源码、部署、文档)
java·vue.js·spring boot·兼职平台·校园兼职·兼职发布平台
michael.csdn3 小时前
Spring Boot & MyBatis Plus 版本兼容问题(记录)
spring boot·后端·mybatis plus
万物皆字节3 小时前
Springboot3 自动装配流程与核心文件:imports文件
spring boot
问道飞鱼3 小时前
【Springboot知识】Springboot结合redis实现分布式锁
spring boot·redis·分布式
码明4 小时前
SpringBoot整合ssm——图书管理系统
java·spring boot·spring
荆州克莱4 小时前
微信小程序获取位置服务
spring boot·spring·spring cloud·css3·技术