【问题标题】:Spring data Redis to Elastic Cache Connection ChecklistSpring 数据 Redis 到 Elasticache 连接清单
【发布时间】:2020-05-03 02:44:44
【问题描述】:

如何使用 Spring-data-redis 连接到 AWS ELlasticCache Redis 集群。 我正在使用redis作为数据存储,并希望实现

  • 高可用性
  • 低延迟

假设:

  • 需要身份验证
  • 传输时需要数据加密
  • 集群模式开启

【问题讨论】:

    标签: java amazon-web-services redis architecture spring-data-redis


    【解决方案1】:
    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;
    
        }
    }
    

    不见了

    • 碎片
    • 授权
    • 数据加密..在 AWS ElastiCache 上完成

    【讨论】:

      猜你喜欢
      • 2020-10-26
      • 2018-07-16
      • 2022-07-30
      • 2018-12-29
      • 2019-08-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-01
      • 2022-10-20
      相关资源
      最近更新 更多