原文出处:https://blog.csdn.net/u010730731/article/details/110002512
单机模式
@Bean
public RedissonClient redissonClient() {
RedissonClient redisson = Redisson.create();
Config config = new Config();
config.useSingleServer().setAddress("redis://127.0.0.1:6379");
return Redisson.create(config);
}
主从模式
@Bean
public RedissonClient redissonClient() {
Config config = new Config();
config.useMasterSlaveServers()
//可以用"rediss://"来启用SSL连接
.setMasterAddress("redis://127.0.0.1:6379")
.addSlaveAddress("redis://127.0.0.1:6389", "redis://127.0.0.1:6332", "redis://127.0.0.1:6419")
.addSlaveAddress("redis://127.0.0.1:6399")
.setDnsMonitoringInterval(5000) //DNS监控间隔,单位:毫秒
.setReadMode(ReadMode.MASTER_SLAVE) //读取操作的负载均衡模式
.setSubscriptionMode(SubscriptionMode.SLAVE) //订阅操作的负载均衡模式,SLAVE - 只在从服务节点里订阅。 MASTER - 只在主服务节点里订阅
.setLoadBalancer(new org.redisson.connection.balancer.RoundRobinLoadBalancer()) // 负载均衡算法类的选择
.setSubscriptionConnectionMinimumIdleSize(1) //从节点发布和订阅连接的最小空闲连接数
.setSubscriptionConnectionPoolSize(50) //从节点发布和订阅连接池大小
.setSlaveConnectionMinimumIdleSize(32) //从节点最小空闲连接数
.setSlaveConnectionPoolSize(64) //从节点连接池大小
.setMasterConnectionMinimumIdleSize(32) //主节点最小空闲连接数
.setMasterConnectionPoolSize(64) //主节点连接池大小
.setIdleConnectionTimeout(10000) //连接空闲超时,单位:毫秒
.setConnectTimeout(10000) //连接超时,单位:毫秒
.setTimeout(3000) //命令等待超时,单位:毫秒
.setRetryAttempts(3) //命令(发送)失败重试次数
.setRetryInterval(1500) // 命令重试发送时间间隔,单位:毫秒,与retryAttempts配合,三次重试均失败,则对应节点需要被剔除
.setDatabase(0) // 数据库编号
//.setPassword("") //密码设置
.setSubscriptionsPerConnection(5) //单个连接最大订阅数量
.setSslEnableEndpointIdentification(true) //启用SSL终端识别
.setSslProvider(SslProvider.JDK) // SSL实现方式
//.setSslTruststorePassword("") //SSL信任证书库密码
//.setSslKeystore(new URI("")) //SSL钥匙库路径
//.setSslKeystorePassword("")//SSL钥匙库密码
.setClientName("clientName");
return Redisson.create(config);
}
哨兵模式
@Bean
public RedissonClient redissonClient() {
Config config = new Config();
config.useSentinelServers()
.setMasterName("mymaster")
//可以用"rediss://"来启用SSL连接
.addSentinelAddress("127.0.0.1:26389", "127.0.0.1:26379")
.addSentinelAddress("127.0.0.1:26319");
return Redisson.create(config);
}
集群模式
@Bean
public RedissonClient redissonClient() {
Config config = new Config();
config.useClusterServers()
.setScanInterval(2000) // 集群状态扫描间隔时间,单位是毫秒
//可以用"rediss://"来启用SSL连接
.addNodeAddress("redis://127.0.0.1:7000", "redis://127.0.0.1:7001")
.addNodeAddress("redis://127.0.0.1:7002");
return Redisson.create(config);
}