springboot2.x 的 RedisCacheManager设置缓存失效时间

由于最近项目中需要使用redis做缓存并修改其失效时间,使用的是springboot2.x来搭建的项目。 
看了看网上的一些教程,但是大多数教程都是基于1.x的版本来讲解的,但是springboot2.x之后发生了一些变动,网上找一些资料不太容易。

下面是springboot1.x的版本使用ReidsCacheManager来配置缓存过期时间的方法:

	@Bean
	public CacheManager cacheManager(RedisTemplate redisTemplate) {
		RedisCacheManager rcm = new RedisCacheManager(redisTemplate);
		//设置缓存过期时间
		Map expires = new HashMap<>();
		expires.put("12h", 3600 * 12L);
		rcm.setExpires(expires);
//        rcm.setDefaultExpiration(60 * 60 * 12);//默认过期时间
		return rcm;
	}
在springboot2.x中,RedisCacheManager已经没有了单参数的构造方法 
以下是springboot2.x版本下 RedisCacheManager的大部分方法 

springboot2.x 的 RedisCacheManager设置缓存失效时间_第1张图片

可以发现原来1.x版本的构造方法已经没有了,新的构造方法如图所示。 
新的2.x版本修改过期时间代码贴下面:

@Bean
	public CacheManager cacheManager(RedisConnectionFactory redisConnectionFactory) {
		RedisCacheConfiguration redisCacheConfiguration = RedisCacheConfiguration.defaultCacheConfig()
				.entryTtl(Duration.ofHours(24)); // 设置缓存有效期24小时
		return RedisCacheManager
				.builder(RedisCacheWriter.nonLockingRedisCacheWriter(redisConnectionFactory))
				.cacheDefaults(redisCacheConfiguration).build();
	}

上面就是springboot1.x版本及springboot2.x版本下redis缓存失效配置,记录下来,一遍后用!

你可能感兴趣的:(redis,缓存,过期时间,redis,springboot)