【发布时间】:2020-05-03 02:44:44
【问题描述】:
如何使用 Spring-data-redis 连接到 AWS ELlasticCache Redis 集群。 我正在使用redis作为数据存储,并希望实现
- 高可用性
- 低延迟
假设:
- 需要身份验证
- 传输时需要数据加密
- 集群模式开启
【问题讨论】:
标签: java amazon-web-services redis architecture spring-data-redis
如何使用 Spring-data-redis 连接到 AWS ELlasticCache Redis 集群。 我正在使用redis作为数据存储,并希望实现
假设:
【问题讨论】:
标签: java amazon-web-services redis architecture spring-data-redis
package com.example.config;
import java.time.Duration;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisClusterConfiguration;
import org.springframework.data.redis.connection.jedis.JedisClientConfiguration;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
@Configuration
public class RedisConfiguration {
@Bean
public JedisClientConfiguration getJedisClientConfiguration(@Value("$REDIS_CONNECTION_TIMEOUT}") final Duration timeout) {
JedisClientConfiguration.JedisClientConfigurationBuilder jedisClientConfigurationBuilder = JedisClientConfiguration.builder();
jedisClientConfigurationBuilder.connectTimeout(timeout);
jedisClientConfigurationBuilder.usePooling();
return jedisClientConfigurationBuilder.build();
}
@Bean
public RedisClusterConfiguration getRedisClusterConfiguration(@Value("${REDIS_HOST}") final String host,
@Value("${REDIS_PORT}") final Integer port) {
RedisClusterConfiguration redisClusterConfiguration = new RedisClusterConfiguration();
redisClusterConfiguration = redisClusterConfiguration.clusterNode(host, port);
return redisClusterConfiguration;
}
@Bean
public JedisConnectionFactory jedisConnectionFactory(
@Qualifier("getRedisClusterConfiguration") final RedisClusterConfiguration redisClusterConfiguration,
@Qualifier("getJedisClientConfiguration") final JedisClientConfiguration jedisClientConfiguration) {
JedisConnectionFactory connectionFactory = new JedisConnectionFactory(redisClusterConfiguration, jedisClientConfiguration);
return connectionFactory;
}
}
不见了
【讨论】: