网站怎么做能赚钱,博物馆网站建设,网络文学网站开发,网站用什么好前言#xff1a;Redisson集成SpringBoot主要有两种方式#xff0c;一个是使用redisson-spring-boot-starter依赖#xff08;优先推荐#xff09;#xff0c;毕竟springboot主打的就是约定大于配置#xff0c;这个依赖就是为springboot准备的。
再一种方式就是引入rediss…前言Redisson集成SpringBoot主要有两种方式一个是使用redisson-spring-boot-starter依赖优先推荐毕竟springboot主打的就是约定大于配置这个依赖就是为springboot准备的。
再一种方式就是引入redisson原始依赖自己写配置类注入到spring容器中这种太麻烦没必要。
这里主要记录一下第一种方式先看官网介绍redisson/redisson-spring-boot-starter at master · redisson/redisson · GitHub
首先关于版本对应关系的问题目前发现sprinBoot2.3.x版本使用redisson-spring-boot-starter 3.30.0版本是没问题的。 官方说了redisson-spring-boot-starter与Spring Boot的版本兼容是通过redisson-spring-boot-starter中引入的redisson-spring-data模块来做的如果需要降级redisson-spring-data模块以支持以前的Spring Boot版本。 也就是说如果发现不兼容问题可以通过降低redisson-spring-data依赖的版本来解决。
具体做法就是引入依赖后排出高版本的redisson-spring-data再引入低版本的即可。
下图可以看到redisson-spring-boot-starter的pom文件中引入了redisson-spring-data-x。 下面开始
一、添加依赖 !-- redisson 依赖 --dependencygroupIdorg.redisson/groupIdartifactIdredisson-spring-boot-starter/artifactIdversion3.30.0/version/dependency 二、配置文件添加配置
配置文件主要有两种方式
第一种是直接使用spring-boot-starter-data-redis的配置redisson完全兼容spring-boot-starter-data-redis的配置,打开redisson-spring-boot-starter 的pom文件可以看到他也是引入了spring-boot-starter-data-redis的依赖。
第二可以使用redisson自己的配置方式。
官网两种配置方式都有示例。
这里就直接使用spring-boot-starter-data-redis的配置这种方式比较简单。
spring:application:name: demo # 应用名称#### Redisson配置兼容spring-boot-starter-data-redis的配置redis:jedis:# 连接池配置如果不配置就会使用默认值pool:#最大连接数max-active: 50#最大阻塞等待时间(负数表示没限制)max-wait: 20000#最大空闲连接max-idle: 10#最小空闲连接min-idle: 1database: 0host: 127.0.0.1port: 6379ssl: false#连接超时时间毫秒timeout: 3000
########### 集群模式
# cluster:
# nodes: 127.0.0.1:6379,127.0.0.2:6379,127.0.0.3:6379
########### 哨兵模式
# sentinel:
# master: mymaster # Sentinel中配置的主节点名称
# nodes: 127.0.0.1:6379,127.0.0.2:6379,127.0.0.3:6379如果要使用redisson自己的配置方式参考官网即可官网两种就有示例。
三、代码示例 AutowiredRedissonClient redissonClient; public void testLock() {//获取锁对象RLock lock redissonClient.getLock(zhh-lock);//设置锁过期时间防止死锁的产生boolean lockFlag false;try {lockFlag lock.tryLock(10, 10, TimeUnit.SECONDS);System.out.println(加锁状态 lockFlag);// 测试一下添加一个键值对RBucketString bucket redissonClient.getBucket(key1);bucket.set(value1);System.out.println(bucket.get());// 删除键值对bucket.delete();} catch (InterruptedException e) {System.out.println(加锁出现异常);e.printStackTrace();} finally {if (lockFlag) {lock.unlock();System.out.println(释放锁成功);}}}