대니

공식문서

Spring Boot Reference Documentation

Getting Started | Caching Data with Spring

@EnableCaching

어노테이션을 추가한 후에는 캐시를 관리해줄 CacheManager를 빈으로 등록해주어야 한다. Spring은 현재 다음과 같은 캐시 매니저들을 제공하고 있다.ConcurrentMapCacheManager: Java의ConcurrentHashMap을 사용해 구현한 캐시를 사용하는 캐시매니저SimpleCacheManager: 기본적으로 제공하는 캐시가 없어 사용할 캐시를 직접 등록하여 사용하기 위한 캐시매니저EhCacheCacheManager: 자바에서 유명한 캐시 프레임워크 중 하나인 EhCache를 지원하는 캐시 매니저CompositeCacheManager: 1개 이상의 캐시 매니저를 사용하도록 지원해주는 혼합 캐시 매니저CaffeineCacheManager: Java 8로 Guava 캐시를 재작성한 Caffeine 캐시를 사용하는 캐시 매니저JCacheCacheManager: JSR-107 기반의 캐시를 사용하는 캐시 매니저

출처:

https://mangkyu.tistory.com/179

[MangKyu's Diary:티스토리]

implementation

//Cache

implementation('org.springframework.boot:spring-boot-starter-cache')

implementation('net.sf.ehcache:ehcache:2.10.6')

Config 설정

(보류) why? Bean 설정의 오류 발견

단순 컨트롤러에 Cacheable 설정으로 시간 발견

XML 설정

<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="<http://www.w3.org/2001/XMLSchema-instance>"
         xsi:noNamespaceSchemaLocation="<http://ehcache.org/ehcache.xsd>"
         updateCheck="false">
    <diskStore path="java.io.tmpdir" />
    <cache name ="PraciteCache"
    maxEntriesLocalHeap="1000"
    maxEntriesLocalDisk="10000"
    eternal="false"
    diskSpoolBufferSizeMB="20"
    timeToIdleSeconds="10"
    timeToLiveSeconds="10"
    memoryStoreEvictionPolicy="LFU"
    transactionalMode="off">
    <persistence strategy="localTempSwap" />
    </cache>
</ehcache>