Redis
 sql >> база данни >  >> NoSQL >> Redis

Не може да се получи връзка с джедаите; Не можа да се получи ресурс от пула

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;
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Възстановете Redis данни от подчинен към главен

  2. Resque на Heroku cedar stack Броят на работниците все още съществува след прекратяване на работника

  3. Грешка в целина:резултат. изтече време за изчакване

  4. DisabledBackend:Неправилно поведение с Celery, Redis и Flask

  5. Celery/Redis една и съща задача се изпълнява няколко пъти паралелно