原文网址:SpringBoot--配置Redisson的方法_IT利刃出鞘的博客-CSDN博客
说明
本文介绍如何在SpringBoot中配置Redisson。
官网网址
redisson-spring-boot-starter配置方案:redisson/redisson-spring-boot-starter at master · redisson/redisson · GitHub
spring-boot-starter-data-redis配置方案:Spring Boot Reference Documentation
配置详解:2. 配置方法 · redisson/redisson Wiki · GitHub
备注
以下方法的推荐度由高到低。
粉丝福利:有很多粉丝私信问我有没有Java的面试及PDF书籍等资料,我整理一下,包含:真实面试题汇总、简历模板、PDF书籍、PPT模板等。这些是我自己也在用的资料,面试题是面试官问到我的问题的整理,其他资料也是我自用的,真正实用、靠谱。资料可以从这里免费获取:资料地址
简介
对于配置文件方案,引入的依赖必须是redisson-spring-boot-starter;
直接使用spring-boot-starter-data-redis的配置。
- spring:
- redis:
- host: 127.0.0.1
- port: 6379
- # password:
- # database: 0 #指定数据库,默认为0
- # timeout: 3000 #连接超时时间,单位毫秒,默认为0。也可以这么写:3s
- # ssl: false # 是否启用SSL连接,默认false
- # pool: #连接池配置
- # max-active: 8 #最大活跃连接数,默认8个。
- # max-idle: 8 #最大空闲连接数,默认8个。
- # max-wait: -1 #获取连接的最大等待时间,默认-1,表示无限制,单位毫秒。
- # #默认值可能会因为获取不到连接,导致事务无法提交,数据库被锁,大量线程处于等待状态的情况。
- # min-idle: 0 #最小空闲连接数,默认0。
- # sentinel:
- # master: myMaster #哨兵master
- # nodes: host1:port,host2:port #哨兵节点
- # cluster:
- # max-redirects: # 集群模式下,集群最大转发的数量
- # nodes: host1:port,host2:port # 集群节点
- spring:
- redis:
- redisson:
- config: |
- clusterServersConfig:
- idleConnectionTimeout: 10000
- connectTimeout: 10000
- timeout: 3000
- retryAttempts: 3
- retryInterval: 1500
- failedSlaveReconnectionInterval: 3000
- failedSlaveCheckInterval: 60000
- password: null
- subscriptionsPerConnection: 5
- clientName: null
- loadBalancer: !<org.redisson.connection.balancer.RoundRobinLoadBalancer> {}
- subscriptionConnectionMinimumIdleSize: 1
- subscriptionConnectionPoolSize: 50
- slaveConnectionMinimumIdleSize: 24
- slaveConnectionPoolSize: 64
- masterConnectionMinimumIdleSize: 24
- masterConnectionPoolSize: 64
- readMode: "SLAVE"
- subscriptionMode: "SLAVE"
- nodeAddresses:
- - "redis://127.0.0.1:7004"
- - "redis://127.0.0.1:7001"
- - "redis://127.0.0.1:7000"
- scanInterval: 1000
- pingConnectionInterval: 0
- keepAlive: false
- tcpNoDelay: false
- threads: 16
- nettyThreads: 32
- codec: !<org.redisson.codec.MarshallingCodec> {}
- transportMode: "NIO"
applicaion.yml
- spring:
- redis:
- redisson:
- config: classpath:redisson.yml
redisson.yml
- clusterServersConfig:
- idleConnectionTimeout: 10000
- connectTimeout: 10000
- timeout: 3000
- retryAttempts: 3
- retryInterval: 1500
- password: null
- subscriptionsPerConnection: 5
- clientName: null
- loadBalancer: !<org.redisson.connection.balancer.RoundRobinLoadBalancer> {}
- slaveSubscriptionConnectionMinimumIdleSize: 1
- slaveSubscriptionConnectionPoolSize: 50
- slaveConnectionMinimumIdleSize: 32
- slaveConnectionPoolSize: 64
- masterConnectionMinimumIdleSize: 32
- masterConnectionPoolSize: 64
- readMode: "SLAVE"
- nodeAddresses:
- - "redis://127.0.0.1:7004"
- - "redis://127.0.0.1:7001"
- - "redis://127.0.0.1:7000"
- scanInterval: 1000
- threads: 0
- nettyThreads: 0
- codec: !<org.redisson.codec.JsonJacksonCodec> {}
- transportMode:"NIO"
redisson配置文件优先级高于springboot配置文件优先级。
简介
编程中有个思路:约定大于配置大于编程。能用配置则用配置,不推荐用代码去配置。
对于配置类配置方案,引入的依赖可以是redisson-spring-boot-starter也可以是redisson。
需要在Resource目录下创建redisson.yml。
- @Configuration
- public class RedssonConfig {
- @Bean(destroyMethod="shutdown")
- public RedissonClient redisson() throws IOException {
- RedissonClient redisson = Redisson.create(
- Config.fromYAML(new ClassPathResource("redisson-single.yml").getInputStream()));
- return redisson;
- }
- }
- import org.redisson.Redisson;
- import org.redisson.api.RedissonClient;
- import org.redisson.config.Config;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
-
- @Configuration
- public class RedissonConfig {
- @Bean
- public RedissonClient redissonClient() {
- Config config = new Config();
-
- //指定编码,默认编码为org.redisson.codec.JsonJacksonCodec
- //config.setCodec(new org.redisson.client.codec.StringCodec());
- config.useSingleServer()
- .setAddress("redis://47.108.105.159:6379")
- .setPassword("cen66lyz")
- .setConnectionPoolSize(50)
- .setIdleConnectionTimeout(10000)
- .setConnectTimeout(3000)
- .setTimeout(3000)
- .setDatabase(5);
-
- return Redisson.create(config);
- }
- }