2

springboot(24)ehcache自定义CacheManager

 2 years ago
source link: https://wakzz.cn/2018/08/31/springboot/(24)ehcache%E8%87%AA%E5%AE%9A%E4%B9%89CacheManager/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

springboot(24)ehcache自定义CacheManager

祈雨的博客
2018-08-31

springboot 1.5.x

@Bean
public CacheManager cacheManager(RedisTemplate<String,?> redisTemplate) {
RedisCacheManager cacheManager= new RedisCacheManager(redisTemplate);
// 开启使用缓存名称最为key前缀
cacheManager.setUsePrefix(true);
cacheManager.setDefaultExpiration(60);
return cacheManager;
}

springboot 2.0.x

@Bean
public CacheManager cacheManager(RedisConnectionFactory connectionFactory) {
// 使用fastjson序列化替代jdk序列化
RedisSerializationContext.SerializationPair serializationPair =
RedisSerializationContext.SerializationPair.fromSerializer(getRedisSerializer());
// 设置缓存有效期一小时
RedisCacheConfiguration redisCacheConfiguration = RedisCacheConfiguration.defaultCacheConfig()
.entryTtl(Duration.ofHours(1)).serializeKeysWith(serializationPair)
.serializeValuesWith(serializationPair);
return RedisCacheManager
.builder(RedisCacheWriter.nonLockingRedisCacheWriter(connectionFactory))
.cacheDefaults(redisCacheConfiguration).build();
}

private RedisSerializer<Object> getRedisSerializer(){
return new GenericFastJsonRedisSerializer();
}

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK