相关疑难解决方法(0)

将 SSL 与 Redis 和 Spring Data Redis 结合使用时“无法获取 Jedis 连接”

我正在使用启用 SSL 的 Redis(来自 AWS 的 ElasticCache),并且在使用 Spring Data Redis 连接到它时遇到困难。

(请注意,如果我使用普通 Jedis 或带有 Spring 的 Jedis Pool,连接工作正常)。

以下是代码片段:

    @Value("${vcap.services.myredis.credentials.host}")
    private String redisHost;

    @Value("${vcap.services.myredis.credentials.password}")
    private String redisPassword;

    @Value("${vcap.services.myredis.credentials.port}")
    private String redisPort;

    public RedisTemplate<String, Object> redisTemplate() {

        final RedisTemplate<String, Object> template = new RedisTemplate<String, Object>();


        String hostUri = "rediss://:" + redisPassword + "@" + redisHost + redisPort;    

        JedisShardInfo info = new JedisShardInfo(hostUri);

        JedisConnectionFactory conn =  new JedisConnectionFactory(info);

        conn.afterPropertiesSet();

        template.setConnectionFactory(conn);
        template.setValueSerializer(new GenericToStringSerializer<Object>(Object.class));
        return template;
    }

}
Run Code Online (Sandbox Code Playgroud)

Redis模板用法:

    @Autowired
    private RedisTemplate<String, String> redistemplate; …
Run Code Online (Sandbox Code Playgroud)

ssl spring redis

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

redis ×1

spring ×1

ssl ×1