Контейнер-докер кэша Redis с пружинной загрузкой не работает на моей локальной машине - PullRequest
0 голосов
/ 27 августа 2018

Я использую кэш redis на локальном компьютере в качестве образа докера. Я включил кэш для одного из моих методов, используя кешируемый анотион. Приложение не может кэшировать то же самое, когда я использую на aws, оно работает вместо localhost

public class RedisConfig {

    @Autowired
    private JedisConnectionFactory jedisConnectionFactory;

    @Bean
    public RedisTemplate<Object, Object> redisTemplate() {

        System.out.println("localhost")
        System.out.println("6379");
        jedisConnectionFactory.getHostName();
        jedisConnectionFactory.getPort();

        RedisTemplate<Object, Object> template = new RedisTemplate<>();
        template.setConnectionFactory(jedisConnectionFactory);
        template.setValueSerializer(new GenericToStringSerializer<Object>(Object.class));
        return template;
    }

    @Bean
    public CacheManager cacheManager(RedisTemplate redisTemplate) {
        RedisCacheManager cacheManager = new RedisCacheManager(redisTemplate);
        // Number of seconds before expiration. Defaults to unlimited (0)
        cacheManager.setDefaultExpiration(60);
        cacheManager.setUsePrefix(true);
        return cacheManager;
    }

}
@Cacheable(value="sgcode" , cacheManager ="cacheManager")
    public String getSegmentCode(String aname ) {
        Logger.info("code ", "##### SEGMENT METHOD CALLED ##### {}", aname);
        return segmentCodeMap.get(aname);       
    }

Logger line will be printed only once after that it should fetch from cache.

1 Ответ

0 голосов
/ 04 сентября 2018

Наконец, после долгих попыток найти причину. использовать аннотацию enablecaching в классе приложения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...