¿Cómo puedo configurar el almacenamiento en caché de Redis con Spring Boot? Por lo que he escuchado, son solo algunos cambios en el archivo application.properties , pero no sé exactamente qué.
Para usar el almacenamiento en caché de Redis en su aplicación de arranque Spring, todo lo que necesita hacer es configurarlos en su archivo application.properties
spring.cache.type=redis spring.redis.host=localhost //add host name here spring.redis.port=6379 Agregue esta dependencia en su pom.xml
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> Además, debe usar @EnableCaching en su clase de aplicación principal y usar la anotación @Cacheable en los métodos para usar Cache. Eso es todo lo que se necesita para usar redis en una aplicación de arranque Spring. Puede usarlo en cualquier clase conectando automáticamente CacheManager, en este caso, RedisCacheManager.
@Autowired RedisCacheManager redisCacheManager;Puede mencionar todas las propiedades requeridas, como nombre de host, puerto, etc., en el archivo application.properties y luego leerlas.
@Configuration @PropertySource("application.properties") public class SpringSessionRedisConfiguration { @Value("${redis.hostname}") private String redisHostName; @Value("${redis.port}") private int redisPort; @Bean public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() { return new PropertySourcesPlaceholderConfigurer(); } @Bean JedisConnectionFactory jedisConnectionFactory() { JedisConnectionFactory factory = new JedisConnectionFactory(); factory.setHostName(redisHostName); factory.setPort(redisPort); factory.setUsePool(true); return factory; } @Bean RedisTemplate<Object, Object> redisTemplate() { RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<Object, Object>(); redisTemplate.setConnectionFactory(jedisConnectionFactory()); return redisTemplate; } @Bean RedisCacheManager cacheManager() { RedisCacheManager redisCacheManager = new RedisCacheManager(redisTemplate()); return redisCacheManager; }}