0

Je suis novice dans l'utilisation d'AWS et d'ElastiCache. Selon la documentation officielle Spring Cloud AWS, Spring Cloud a sa propre implémentation de memcache, donc si je veux utiliser Redis, je devrais ajouter les dépendances pour Redis. À partir de là, Spring Cloud utilisera automatiquement ce pilote. Dois-je ajouter une configuration pour Redis, ou Spring Cloud choisira-t-il le pilote et configurera-t-il Redis seul?Configurer le cache Redis de printemps pour les aws de nuages ​​de printemps?

+0

Avez-vous trouvé la réponse? –

Répondre

0

Vous devez fournir un serveur redis et un port dans JedisConnectionFactory qui doit être configuré dans RedisTemplate et qui doit être lié au bean CacheManager dans le fichier de configuration 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; 
    }