我正在使用启用 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)