Настроить кеш Spring Redis для Spring Cloud AWS?

Я новичок в использовании AWS и ElastiCache. Согласно официальной документации Spring Cloud AWS, Spring Cloud имеет собственную реализацию memcache, поэтому, если я хочу использовать Redis, мне нужно добавить зависимости для Redis. Оттуда Spring Cloud будет автоматически использовать этот драйвер.

Нужно ли мне добавлять конфигурацию для Redis, или Spring Cloud только выберет драйвер и настроит Redis самостоятельно?


person Vasyl Chopyk    schedule 05.10.2016    source источник
comment
ты нашел ответ?   -  person Ashika Umanga Umagiliya    schedule 17.01.2017


Ответы (1)


вам необходимо указать сервер и порт redis в JedisConnectionFactory, который необходимо настроить в RedisTemplate и который должен быть связан с компонентом CacheManager в файле конфигурации Spring.

public JedisConnectionFactory cacheJedisConnectionFactory() {

        String redisServerURL = environment.getProperty(
                CacheConstants.PROP_REDIS_HOST, String.class);
        int redisServerPort = environment.getProperty(
                CacheConstants.PROP_REDIS_PORT, Integer.class);

        JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory();
        jedisConnectionFactory.setHostName(redisServerURL);
        jedisConnectionFactory.setPort(redisServerPort);
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
        return jedisConnectionFactory;
    }

public RedisTemplate cacheRedisTemplate() {
        RedisTemplate redisTemplate = new RedisTemplate();
        redisTemplate.setConnectionFactory(cacheJedisConnectionFactory());
        redisTemplate.setDefaultSerializer(new KryoObjectSerializer());
        return redisTemplate;
    }

public CacheManager distributedCacheManager() {

        XXXXXX..........
        DistributedCacheManager cacheManager = new DistributedCacheManager(
                cacheRedisTemplate());
        cacheManager.setUsePrefix(true);
        XXXXXXXXXXXXXX......
        return cacheManager;
    }
person Umesh    schedule 10.10.2016