sql >> Database >  >> NoSQL >> Redis

Hoe automatisch bedraad RedisTemplate

De stacktrace suggereert dat je de Bean die je wilt gebruiken om te injecteren niet hebt gedefinieerd in RedisTemplate .U kunt het oplossen door een configuratiebestand aan te maken, bijv.

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

Zodra u het configuratiebestand heeft, moet u het doorgeven aan SpringApplication.run Bijv.

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


  1. Meteor, One to Many-relatie &veld alleen toevoegen aan client-side collectie in Publiceren?

  2. Hoe pijplijn in node.js naar redis?

  3. $in vereist een array als tweede argument, gevonden:missing

  4. MongoDB-waarschuwing voor afschaffing van mangoest