sql >> Databáze >  >> NoSQL >> Redis

Jak automaticky zapojit RedisTemplate

Stacktrace naznačuje, že jste nedefinovali Bean, který chcete použít pro injektování v RedisTemplate .Můžete to vyřešit vytvořením konfiguračního souboru, např.

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

Jakmile budete mít konfigurační soubor, musíte jej předat SpringApplication.run Např.

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


  1. Mongo, najdi seznam ID

  2. Rozdíl mezi ukládáním celých čísel a řetězců v Redis

  3. Existuje nějaký ekvivalent NOW() v MongoDB

  4. Oznámení Redis:Získejte klíč a hodnotu po vypršení platnosti