1. Prova a utilizzare il pool di connessioni Jedis per ottenere l'istanza Jedis invece di utilizzare new Jedis()
, per questo dovrai configurare JedisPool in config Poiché lo stai usando come bean, dovresti usare il bean JedisPool e quindi ottenere Jedis da esso ovunque tu debba eseguire un'operazione e chiuderlo dopo aver terminato.
2. Altrimenti usa redisTemplate di Spring con la configurazione come di seguito
@Bean
public JedisConnectionFactory redisConnectionFactory() {
JedisConnectionFactory factory = new JedisConnectionFactory();
factory.setHostName(redisHostName);
factory.setPort(redisPort);
factory.setUsePool(true);
return factory;
}
@Bean
public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory cf) {
RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<Object, Object>();
redisTemplate.setDefaultSerializer(new StringRedisSerializer());
redisTemplate.setConnectionFactory(cf);
return redisTemplate;
}