Ce sera ma première connexion de Spring à Redis. La documentation de jedis connection factory: http://www.baeldung.com/spring-data-redis-tutorial
Offre le code suivant:
@Bean
JedisConnectionFactory jedisConnectionFactory() {
JedisConnectionFactory jedisConFactory
= new JedisConnectionFactory();
jedisConFactory.setHostName("localhost");
jedisConFactory.setPort(6379);
return jedisConFactory;
}
Ça a l'air bien, mais mon IDE me dit que les méthodes setHostName et setPort sont obsolètes (même si j'utilise les versions du tutoriel).
Je me demandais si quelqu'un avait un simple exemple de "connexion des données de printemps à redis" qui utilise les appels d'API non obsolètes?
Avec Spring Data Redis 2.0, ces méthodes sont obsolètes. Vous devez maintenant configurer à l'aide de RedisStandaloneConfiguration
Exemple:
JedisConnectionFactory jedisConnectionFactory() {
RedisStandaloneConfiguration redisStandaloneConfiguration = new RedisStandaloneConfiguration("localhost", 6379);
redisStandaloneConfiguration.setPassword(RedisPassword.of("yourRedisPasswordIfAny"));
return new JedisConnectionFactory(redisStandaloneConfiguration);
}
@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;
}
En plus de la réponse de @Thang Le
Vous pouvez configurer votre temps hors des opérations de lecture, en ajoutant cette ligne:
jedisClientConfigurationBuilder.readTimeout (Duration.ofSeconds (1));
C'est la valeur que vous pouvez obtenir lors de l'utilisation:
jedisConFactory.getTimeout ()