Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Nie można uzyskać połączenia Jedis; Nie udało się uzyskać zasobu z puli

1. Spróbuj użyć puli połączeń Jedis, aby uzyskać instancję Jedis zamiast używać new Jedis() , w tym celu będziesz musiał skonfigurować JedisPool w config Ponieważ używasz go jako fasoli, powinieneś użyć fasoli JedisPool, a następnie pobrać z niego Jedis, gdziekolwiek masz wykonać operację i zamknąć go po zakończeniu.

2. W przeciwnym razie użyj redisTemplate sprężyny z konfiguracją jak poniżej

@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. Czy istnieje sposób na flushall w klastrze, aby wszystkie klucze z mastera i slave'a zostały usunięte z bazy danych?

  2. Redis — wykorzystanie wartości Incr w transakcji

  3. Złożoność czasowa zadd, gdy wartość ma wynik wyższy niż najwyższy wynik obecny w docelowym posortowanym zestawie

  4. Laravel wszystkie identyfikatory sesji ze sterownikiem Redis

  5. Node.js i Redis; Czekam na zakończenie pętli