java config redis有关配置如下
Jedis客户端配置
private JedisClientConfiguration getJedisClientConfiguration() {
JedisClientConfiguration.JedisClientConfigurationBuilder builder = applyProperties(
JedisClientConfiguration.builder());
RedisProperties.Pool pool = this.redisProperties.getJedis().getPool();
if (pool != null) {
applyPooling(pool, builder);
}
return builder.build();
}
private JedisClientConfiguration.JedisClientConfigurationBuilder applyProperties(
JedisClientConfiguration.JedisClientConfigurationBuilder builder) {
if (this.redisProperties.isSsl()) {
builder.useSsl();
}
if (this.redisProperties.getTimeout() != null) {
Duration timeout = this.redisProperties.getTimeout();
builder.readTimeout(timeout).connectTimeout(timeout);
}
return builder;
}
private void applyPooling(RedisProperties.Pool pool,
JedisClientConfiguration.JedisClientConfigurationBuilder builder) {
builder.usePooling().poolConfig(jedisPoolConfig(pool));
}
private JedisPoolConfig jedisPoolConfig(RedisProperties.Pool pool) {
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(pool.getMaxActive());
config.setMaxIdle(pool.getMaxIdle());
config.setMinIdle(pool.getMinIdle());
if (pool.getMaxWait() != null) {
config.setMaxWaitMillis(pool.getMaxWait().toMillis());
}
return config;
}
jedis 单机相关配置
RedisStandaloneConfiguration getStandaloneConfig() {
RedisStandaloneConfiguration config = new RedisStandaloneConfiguration();
config.setHostName(this.redisProperties.getHost());
config.setPort(this.redisProperties.getPort());
config.setPassword(RedisPassword.of(this.redisProperties.getPassword()));
config.setDatabase(this.redisProperties.getDatabase());
return config;
}
创建RedisConnectionFactory 工厂
public RedisConnectionFactory redisConnectionFactory(){
JedisClientConfiguration clientConfiguration = getJedisClientConfiguration();
// if (getSentinelConfig() != null) {
// return new JedisConnectionFactory(getSentinelConfig(), clientConfiguration);
// }
// if (getClusterConfiguration() != null) {
// return new JedisConnectionFactory(getClusterConfiguration(),
// clientConfiguration);
// }
return new JedisConnectionFactory(getStandaloneConfig(), clientConfiguration);
}
**说明 **
学习spring boot配置时得运用,以上代码来自官网源码。其他配置看參考spring