으로 Ehcache 알아보기

A. 개요

1. 간단한, 높은 속도, 캐시 관리 스레드 안전 라이브러리를 자바로 구현;

2. 모든 기능을 덮고, 절전 모드에서 진화;

가장 빠른 자바 캐시 3. 하나가 큰 높은 동시 시스템에 사용할 수있는, API는 사용하기 쉬운;

4. 지원 LRU, LFU 및 FIFO 버퍼 및 기타 전략;

5. 데이터 캐시의 두 가지 수준이 있습니다 : 용량 문제에 대한 걱정없이 메모리 및 디스크;

6. 캐시 된 데이터는 가상 컴퓨터를 다시 시작하는 과정에서 디스크에 기록됩니다;

RMI 등등을 통해 7 분산 캐시 API에 삽입 될 수있다

청취 소켓 8 : 캐쉬 관리 청취자의 CacheManagerEventListener 및 캐시 이벤트 리스너 CacheEventListener;

II. 사용 소개

1. 애플리케이션 CacheManager 캐시가 복수 일 수 있고, 더 CacheManager를 가질 수있는 내부 캐시 요소, 소자의 개수 세이브 저장된 키 / 값 쌍이고;

2. 주요 구조

캐시 복제 : 테라코타, RMI, JMS 및 JGroup 사가지 등 여러 가지 구현의 캐시 동기화에 대한 책임;

인 - 프로세스 APIS : 외국 일반적으로 사용되는 API, JRuby를, 최대 절전 모드, JMX, SOAP API를 캐시 서버를 포함 오가지;

네트워크 APIS : 통신 프로토콜, 편안하고 API, SOAP API JMX API를하고있다처럼;

으로 Ehcache 코어 : CacheManager는 캐시 관리자가, 캐시, 요소, SOR 구성 요소는 실제 데이터를 취할 수 있습니다 포함하며,

3. 캐시 정책

FIFO : 데이터 쓰기 시간의 FIFO;

LUF : 최소한의 사용은, 캐시 히트 요소는 속성이, 히트의 최소 값은 삭제됩니다;

LRU는 : 중고 적어도 최근 가장 먼 요소의 현재 시간 스탬프에서 종래의 캐시 요소는 삭제된다;

4. 프로필 ehcache.xml

이름 : 캐시 고유 식별을;

maxElementsInMemory : 메모리에 캐시 된 개체의 최대 수

maxElementsOnDisk : 디스크 캐쉬 오브젝트의 최대 개수가 0이 무한대를 나타내고;

영원한 : 요소 영구적 여부, 시간 제한 실패를 설정 한 후,

overflowToDisk : 메모리 소자의 최대 수에 도달 디스크에 기록하는 단계;

timeToIdleSeconds : 요소 집합 유휴 시간 오류가 발생하기 전에 허용;

timeToLiveSeconds : 요소 집합 생존 시간 오류가 발생하기 전에 허용;

diskPersistent : 디스크에 지속 캐시 데이터에 대한 여부, 기본 거짓;

디스크가 스레드 실행 간격, 기본 120S 실패; disExpiryThreadIntervalSeconds

diskSpoolBufferSizeMB : 설정 디스크 캐시, 기본 30메가바이트의 크기;

memoryStoreEvicitionPolicy : 요소가 정리 메모리에 지정된 정책에 의해 한계에 도달 할 때,

간단한 코드

CacheManager = CacheManager.creat CacheManager (); //이 방법에 의해 기본 구성의 인스턴스를 생성하기 위해 생성 
요소 요소 = 새로운 새 ; 요소 (키, 값) // 데이터를 버퍼링 할 필요가 
상기 캐시 캐시 = cacheManager.getCache (CacheName) // CacheName 값 구성 파일 캐시 이름 
cache.put (요소); // 캐시에 데이터 
요소 = cache.get (키); // 캐시에서 데이터를 얻을 
Object 데이터 element.getObjectValue는 = (); // 획득 캐시 데이터 
( "키") Cache.Remove // 키 삭제 캐시에 의해 
cache.replace ( 새로운 새로운 요소 ( "키", "값 2")); //이 값의 원래 키를 교체

스프링의 제 조합

@Cacheable이 주석의 첨가 방법은 캐시, 상기 방법은 캐시 된 결과를 직접 액세스 돌아가 다음 캐시 된 결과라고하고, 처음을 나타내고, 부호 방법은 수행되지 않는다;

특성 : 값은 캐시 구성 파일 이름의 적어도 하나 개의 값을 지정해야합니다;

           매개 변수의 조합이 비어 있으면 SpEL을 키 식에 따라 제조 된

           조건은 그렇지 않은 경우에만 캐시는 사실이다 SpEL을 발현에 따라 작성, 비어있을 수 있습니다;

@CachePut : 지원 속성과 메서드 @Cacheable과 일치하지만의 사용 또는 실행의 진정한 방법의 결과를 캐시이 주석;

속성 : 값; 키; 조건;

@CacheEvict : 캐시 비우기

속성 : 값; 키; 조건;

           allEntries : 모든 캐시 내용을 취소 할 것인지, 디폴트는 true를 지정하면, 메서드 호출은 즉시 모든 캐시를 지우 것, 거짓;

           beforeInvocation은 : 실행 방법 이전 릴리스는 기본이 거짓, 비우;

@CacheConfig : 클래스 레벨의 주석, 주로 캐시 이름을 공유;

추천

출처www.cnblogs.com/bbbbs/p/12532678.html