1.Prøv at bruge Jedis-forbindelsespuljen til at hente Jedis-instansen i stedet for at bruge new Jedis()
, for det bliver du nødt til at konfigurere JedisPool i config. Da du bruger den som bean, bør du bruge JedisPool bean og derefter hente Jedis fra den, uanset hvor du skal udføre en operation og lukke den efter endt.
2. Ellers brug forårets redisTemplate med config som nedenfor
@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;
}