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

Jak autowired RedisTemplate

Stacktrace sugeruje, że nie zdefiniowałeś Bean, którego chcesz użyć do wstrzyknięcia w RedisTemplate .Możesz rozwiązać ten problem, tworząc plik konfiguracyjny, np.

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericToStringSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;

@Configuration
public class AppConfig {
 @Bean
 JedisConnectionFactory jedisConnectionFactory() {
  return new JedisConnectionFactory();
 }

 @Bean
 RedisTemplate< String, Long > redisTemplate() {
  final RedisTemplate< String, Long > template =  new RedisTemplate< String, Long >();
  template.setConnectionFactory( jedisConnectionFactory() );
  template.setKeySerializer( new StringRedisSerializer() );
  template.setHashValueSerializer( new GenericToStringSerializer< Long >( Long.class ) );
  template.setValueSerializer( new GenericToStringSerializer< Long >( Long.class ) );
  return template;
 }
}

Gdy masz już plik konfiguracyjny, musisz przekazać go do SpringApplication.run Np.

Object[] sources = {AppConfig.class};
ApplicationContext ctx = SpringApplication.run(sources, args);


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. dostać obiekt z redis bez oceny?

  2. Ogromne opóźnienie podczas korzystania z Selera + Redis

  3. Jak mogę znaleźć identyfikator sesji podczas korzystania z ekspresu/połączenia i magazynu sesji?

  4. flushdb nie wyczyścić wszystkich kluczy w redis?

  5. Jak atomowo usunąć klucze pasujące do wzorca za pomocą Redis