|
|
@@ -3,11 +3,13 @@ package com.lhamacorp.knotes.config;
|
|
|
import com.github.benmanes.caffeine.cache.Caffeine;
|
|
|
import org.springframework.cache.CacheManager;
|
|
|
import org.springframework.cache.annotation.EnableCaching;
|
|
|
-import org.springframework.cache.caffeine.CaffeineCacheManager;
|
|
|
+import org.springframework.cache.caffeine.CaffeineCache;
|
|
|
+import org.springframework.cache.support.SimpleCacheManager;
|
|
|
import org.springframework.context.annotation.Bean;
|
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
|
|
|
import java.time.Duration;
|
|
|
+import java.util.Arrays;
|
|
|
|
|
|
@Configuration
|
|
|
@EnableCaching
|
|
|
@@ -15,32 +17,31 @@ public class CacheConfig {
|
|
|
|
|
|
@Bean
|
|
|
public CacheManager cacheManager() {
|
|
|
- CaffeineCacheManager cacheManager = new CaffeineCacheManager();
|
|
|
+ SimpleCacheManager cacheManager = new SimpleCacheManager();
|
|
|
|
|
|
- cacheManager.setCaffeine(Caffeine.newBuilder()
|
|
|
- .initialCapacity(100)
|
|
|
- .maximumSize(1000)
|
|
|
- .expireAfterWrite(Duration.ofSeconds(10))
|
|
|
- .recordStats());
|
|
|
+ cacheManager.setCaches(Arrays.asList(
|
|
|
+ new CaffeineCache("contentCache", contentCacheCaffeine().build()),
|
|
|
+ new CaffeineCache("metadataCache", metadataCacheCaffeine().build())
|
|
|
+ ));
|
|
|
|
|
|
return cacheManager;
|
|
|
}
|
|
|
|
|
|
- @Bean("metadataCache")
|
|
|
- public Caffeine<Object, Object> metadataCache() {
|
|
|
+ @Bean
|
|
|
+ public Caffeine<Object, Object> contentCacheCaffeine() {
|
|
|
return Caffeine.newBuilder()
|
|
|
- .initialCapacity(50)
|
|
|
- .maximumSize(500)
|
|
|
- .expireAfterWrite(Duration.ofSeconds(10))
|
|
|
+ .initialCapacity(20)
|
|
|
+ .maximumSize(100)
|
|
|
+ .expireAfterWrite(Duration.ofSeconds(30))
|
|
|
.recordStats();
|
|
|
}
|
|
|
|
|
|
- @Bean("contentCache")
|
|
|
- public Caffeine<Object, Object> contentCache() {
|
|
|
+ @Bean
|
|
|
+ public Caffeine<Object, Object> metadataCacheCaffeine() {
|
|
|
return Caffeine.newBuilder()
|
|
|
- .initialCapacity(20)
|
|
|
- .maximumSize(100)
|
|
|
- .expireAfterWrite(Duration.ofSeconds(30))
|
|
|
+ .initialCapacity(50)
|
|
|
+ .maximumSize(500)
|
|
|
+ .expireAfterWrite(Duration.ofSeconds(10))
|
|
|
.recordStats();
|
|
|
}
|
|
|
}
|