这是我第一次将Spring连接到Redis。 jedis连接工厂的文档:http://www.baeldung.com/spring-data-redis-tutorial
提供以下代码:
@Bean
JedisConnectionFactory jedisConnectionFactory() {
JedisConnectionFactory jedisConFactory
= new JedisConnectionFactory();
jedisConFactory.setHostName("localhost");
jedisConFactory.setPort(6379);
return jedisConFactory;
}
看起来很棒,但我的IDE告诉我setHostName和setPort方法已被弃用(即使我使用了教程中的版本)。
我想知道是否有人将简单的弹簧数据连接到redis"使用未弃用的API调用的示例?
答案 0 :(得分:23)
使用Spring Data Redis 2.0时,这些方法已被弃用。 您现在需要使用RedisStandaloneConfiguration配置
示例:
JedisConnectionFactory jedisConnectionFactory() {
RedisStandaloneConfiguration redisStandaloneConfiguration = new RedisStandaloneConfiguration("localhost", 6379);
redisStandaloneConfiguration.setPassword(RedisPassword.of("yourRedisPasswordIfAny"));
return new JedisConnectionFactory(redisStandaloneConfiguration);
}
答案 1 :(得分:12)
@Bean
JedisConnectionFactory jedisConnectionFactory() {
RedisStandaloneConfiguration redisStandaloneConfiguration = new RedisStandaloneConfiguration();
redisStandaloneConfiguration.setHostName("localhost");
redisStandaloneConfiguration.setPort(6379);
redisStandaloneConfiguration.setDatabase(0);
redisStandaloneConfiguration.setPassword(RedisPassword.of("password"));
JedisClientConfigurationBuilder jedisClientConfiguration = JedisClientConfiguration.builder();
jedisClientConfiguration.connectTimeout(Duration.ofSeconds(60));// 60s connection timeout
JedisConnectionFactory jedisConFactory = new JedisConnectionFactory(redisStandaloneConfiguration,
jedisClientConfiguration.build());
return jedisConFactory;
}
答案 2 :(得分:0)
除了@Thang Le的回复
您可以配置读取操作超时,并添加以下行:
jedisClientConfigurationBuilder.readTimeout(Duration.ofSeconds(1));
这是使用时可获得的值:
jedisConFactory.getTimeout()