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分です
@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;
}
}