1. Опитайте се да използвате пул за връзки на Jedis, за да получите екземпляр на Jedis, вместо да използвате new Jedis()
, за това ще трябва да конфигурирате JedisPool в config.Тъй като го използвате като bean, трябва да използвате JedisPool bean и след това да получите Jedis от него навсякъде, където трябва да извършите операция и да го затворите след приключване.
2. В противен случай използвайте spring's redisTemplate с конфигурация, както е по-долу
@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;
}