@Configuration
public class RedisConfig {
/*
配置 Redis 缓存管理器,让 SpringCache 对 Redis 的 value 序列化为 JSON 格式
*/
@Bean
public CacheManager cacheManager(RedisConnectionFactory redisConnectionFactory) {
// 根据 Redis 连接工厂构建 Redis 缓存管理器
return RedisCacheManager.builder(redisConnectionFactory)
// 默认的缓存配置
.cacheDefaults(RedisCacheConfiguration.defaultCacheConfig()
// 设置 key 的 TTL
.entryTtl(Duration.ofHours(8))
// 序列化 value 使用 Redis JSON 格式的序列化器
.serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(RedisSerializer.json())))
// 启用 Redis 缓存,使缓存放置/驱逐操作与正在进行的 Spring 管理的事务同步。
.transactionAware()
// 构建
.build();
}
}
网友评论