0

我是使用AWS和ElastiCache的新手。根据官方Spring Cloud AWS文档,Spring Cloud有自己的memcache实现,所以如果我想使用Redis,我需要添加Redis的依赖关系。从那里,Spring Cloud会自动使用这个驱动程序。为spring cloud aws配置spring redis缓存?

我是否需要为Redis添加配置,还是Spring云只会选择驱动程序并自行配置Redis?

+0

您是否找到答案? –

回答

0

您需要在JedisConnectionFactory中提供Redis服务器和端口,该服务器和端口需要在RedisTemplate中进行配置,并且应该使用Spring配置文件中的CacheManager bean进行绑定。

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; 
    } 
相关问题