Redis:Spring Boot@Cacheable使用時に一部キャッシュの有効期限を設定


@Override @Cacheable(cacheNames = {"distributor"}, key = "key1") public List findCities() {     return distributorMapper.selectCities(); } 
@Override @Cacheable(cacheNames = {"car"}, key = "key2") public List findCities() {     return distributorMapper.selectCities(); } 
キャッシュ時間のカスタマイズ
distributor::key 1の有効期間は永続的です
car::key 2の有効期間は6分です
 
@Slf4j
@Configuration
@EnableCaching //    
public class RedisConfig {
	
	/**
	 *         
	 */
	@Bean
	public RedisCacheManager cacheManager(RedisConnectionFactory factory) {
		RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig();

		Set cacheNames = new HashSet<>();
		cacheNames.add("car");
		cacheNames.add("distributor");

		ConcurrentHashMap configMap = new ConcurrentHashMap<>();
		configMap.put("car", config.entryTtl(Duration.ofMinutes(6L)));//   6  
		configMap.put("distributor", config);//  
		
		//          ,         。
		RedisCacheManager cacheManager = RedisCacheManager.builder(factory).initialCacheNames(cacheNames).withInitialCacheConfigurations(configMap).build();

		return cacheManager;
	}
}