|
|
|
@ -13,7 +13,6 @@ import org.redisson.spring.cache.RedissonSpringCacheManager;
|
|
|
|
|
import org.redisson.spring.starter.RedissonAutoConfiguration;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
|
|
|
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
|
|
|
|
import org.springframework.boot.autoconfigure.data.redis.RedisProperties;
|
|
|
|
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
|
|
|
|
import org.springframework.cache.CacheManager;
|
|
|
|
@ -21,8 +20,8 @@ import org.springframework.cache.annotation.CachingConfigurerSupport;
|
|
|
|
|
import org.springframework.cache.annotation.EnableCaching;
|
|
|
|
|
import org.springframework.context.annotation.Bean;
|
|
|
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
|
|
import org.springframework.context.annotation.Primary;
|
|
|
|
|
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
@ -49,9 +48,9 @@ public class RedisConfiguration extends CachingConfigurerSupport {
|
|
|
|
|
@Autowired
|
|
|
|
|
private RedissonProperties redissonProperties;
|
|
|
|
|
|
|
|
|
|
@Primary
|
|
|
|
|
@Bean(destroyMethod = "shutdown")
|
|
|
|
|
@ConditionalOnMissingBean(RedissonClient.class)
|
|
|
|
|
public RedissonClient redisson() throws IOException {
|
|
|
|
|
public RedissonClient redisson() {
|
|
|
|
|
String prefix = REDIS_PROTOCOL_PREFIX;
|
|
|
|
|
if (redisProperties.isSsl()) {
|
|
|
|
|
prefix = REDISS_PROTOCOL_PREFIX;
|
|
|
|
@ -73,14 +72,11 @@ public class RedisConfiguration extends CachingConfigurerSupport {
|
|
|
|
|
.setTimeout(singleServerConfig.getTimeout())
|
|
|
|
|
.setRetryAttempts(singleServerConfig.getRetryAttempts())
|
|
|
|
|
.setRetryInterval(singleServerConfig.getRetryInterval())
|
|
|
|
|
.setSubscriptionsPerConnection(singleServerConfig.getSubscriptionsPerConnection())
|
|
|
|
|
.setClientName(singleServerConfig.getClientName())
|
|
|
|
|
.setIdleConnectionTimeout(singleServerConfig.getIdleConnectionTimeout())
|
|
|
|
|
.setSubscriptionConnectionMinimumIdleSize(singleServerConfig.getSubscriptionConnectionMinimumIdleSize())
|
|
|
|
|
.setSubscriptionConnectionPoolSize(singleServerConfig.getSubscriptionConnectionPoolSize())
|
|
|
|
|
.setConnectionMinimumIdleSize(singleServerConfig.getConnectionMinimumIdleSize())
|
|
|
|
|
.setConnectionPoolSize(singleServerConfig.getConnectionPoolSize())
|
|
|
|
|
.setDnsMonitoringInterval(singleServerConfig.getDnsMonitoringInterval());
|
|
|
|
|
.setConnectionPoolSize(singleServerConfig.getConnectionPoolSize());
|
|
|
|
|
}
|
|
|
|
|
// 集群配置方式 参考下方注释
|
|
|
|
|
RedissonProperties.ClusterServersConfig clusterServersConfig = redissonProperties.getClusterServersConfig();
|
|
|
|
@ -98,19 +94,14 @@ public class RedisConfiguration extends CachingConfigurerSupport {
|
|
|
|
|
.setTimeout(clusterServersConfig.getTimeout())
|
|
|
|
|
.setRetryAttempts(clusterServersConfig.getRetryAttempts())
|
|
|
|
|
.setRetryInterval(clusterServersConfig.getRetryInterval())
|
|
|
|
|
.setSubscriptionsPerConnection(clusterServersConfig.getSubscriptionsPerConnection())
|
|
|
|
|
.setClientName(clusterServersConfig.getClientName())
|
|
|
|
|
.setIdleConnectionTimeout(clusterServersConfig.getIdleConnectionTimeout())
|
|
|
|
|
.setPingConnectionInterval(clusterServersConfig.getPingConnectionInterval())
|
|
|
|
|
.setSubscriptionConnectionMinimumIdleSize(clusterServersConfig.getSubscriptionConnectionMinimumIdleSize())
|
|
|
|
|
.setSubscriptionConnectionPoolSize(clusterServersConfig.getSubscriptionConnectionPoolSize())
|
|
|
|
|
.setMasterConnectionMinimumIdleSize(clusterServersConfig.getMasterConnectionMinimumIdleSize())
|
|
|
|
|
.setMasterConnectionPoolSize(clusterServersConfig.getMasterConnectionPoolSize())
|
|
|
|
|
.setSlaveConnectionMinimumIdleSize(clusterServersConfig.getSlaveConnectionMinimumIdleSize())
|
|
|
|
|
.setSlaveConnectionPoolSize(clusterServersConfig.getSlaveConnectionPoolSize())
|
|
|
|
|
.setDnsMonitoringInterval(clusterServersConfig.getDnsMonitoringInterval())
|
|
|
|
|
.setFailedSlaveReconnectionInterval(clusterServersConfig.getFailedSlaveReconnectionInterval())
|
|
|
|
|
.setScanInterval(clusterServersConfig.getScanInterval())
|
|
|
|
|
.setReadMode(clusterServersConfig.getReadMode())
|
|
|
|
|
.setSubscriptionMode(clusterServersConfig.getSubscriptionMode())
|
|
|
|
|
.setNodeAddresses(nodes);
|
|
|
|
@ -182,18 +173,8 @@ public class RedisConfiguration extends CachingConfigurerSupport {
|
|
|
|
|
* retryAttempts: 3
|
|
|
|
|
* # 命令重试发送时间间隔,单位:毫秒
|
|
|
|
|
* retryInterval: 1500
|
|
|
|
|
* # 从可用服务器的内部列表中排除 Redis Slave 重新连接尝试的间隔。
|
|
|
|
|
* failedSlaveReconnectionInterval: 3000
|
|
|
|
|
* # 发布和订阅连接池最小空闲连接数
|
|
|
|
|
* subscriptionConnectionMinimumIdleSize: 1
|
|
|
|
|
* # 发布和订阅连接池大小
|
|
|
|
|
* subscriptionConnectionPoolSize: 50
|
|
|
|
|
* # 单个连接最大订阅数量
|
|
|
|
|
* subscriptionsPerConnection: 5
|
|
|
|
|
* # 扫描间隔
|
|
|
|
|
* scanInterval: 1000
|
|
|
|
|
* # DNS监测时间间隔,单位:毫秒
|
|
|
|
|
* dnsMonitoringInterval: 5000
|
|
|
|
|
* # 读取模式
|
|
|
|
|
* readMode: "SLAVE"
|
|
|
|
|
* # 订阅模式
|
|
|
|
|