EhCache 보조 스프링 Acegi
8725 단어 ehcache
ehcache
모든 모듈 을 포장 하 였 습 니 다.
ehcache-core
핵심 캐 시 엔진,RMI 복사 모듈,Hibernate 플러그 인
ehcache-terracotta
Terracotta 클 러 스 터 시스템 과 틈새 없 는 통합 에 사용 합 니 다.
ehcache-monitor (beta 2)
기업 급 모니터링 및 개발 관리
ehcache-web
자바 Servlet 용기 의 캐 시,gzip 압축 필터
ehcache-debugger
분포 식 복사 이 벤트 를 추적 하고 디 버 깅 하 는 데 사용 합 니 다.
ehcache-jcache
JSR 107 JCACHE 를 실 현 했 습 니 다.
ehcache-jgroupsreplication
JGroups 멀티캐스트 프레임 워 크 를 사용 하여 캐 시 복사
ehcache-jmsreplication
JMS 로 캐 시 복사
ehcache-openjpa
OpenJPA 에 캐 시 플러그 인 제공
ehcache-server
독립 적 이거 나 WAR 형세 의 RESTful 캐 시 서 비 스 를 제공 합 니 다.
통합 을 거 친 Ehcache 도 다음 과 같은 특징 이 있 습 니 다.
· 간단 하고 사용 하기 쉬 운 분포 식 캐 시:EHcache 단일 버 전 API 를 사용 하고 Hibernate 2 급 캐 시 실현 을 직접 지원 하 며 서버 클 러 스 터 지원,데이터베이스 부하 감소
· 통합 성 이 강 함:EhCache 는 일반적으로 Hibernate 캐 시,DAO 캐 시,보안 증빙서류 캐 시(Acegi),웹 캐 시,영구 화 와 분포 식 캐 시 를 사용 합 니 다.
· 효율 적 이 고 신뢰 할 수 있 습 니 다.로 컬 메모리 의 접근 속도,동적 캐 시 데이터 영구 화,클 라 이언 트 는 서버 에서 모두 가로 선형 확장,자동 데이터 블록,가상 캐 시 메모리 관리,무한 캐 시 공간,다단 계 캐 시 동적 균형 을 가 질 수 있 습 니 다.
· 쓰기 지연(Write Behind)과 직접 쓰기(Write Through):
· 자바 분포 식 트 랜 잭 션 의 전면적 인 지원:ehcache 는 설정 을 통 해 캐 시 를 XAResource 로 설정 하고 분포 식 트 랜 잭 션 관리자 가 시작 하 는 분포 식 트 랜 잭 션 을 자동 으로 추가 할 수 있 습 니 다.자주 사용 하 는 분포 식 사무 관리 자 를 자동 으로 감지 할 수 있 습 니 다.Spring,EJB 등의 분포 식 사무 관 리 를 지원 합 니 다.
· 기업 사용자 지원:산업 표준 JMX,시각 화 관리 도구,동적 모니터링,디 버 깅,최적화 지원
Ehcache 자체 가 Hibernate 표준 2 급 캐 시 이기 때문에 단일 컴퓨터 판 Hibernate 2 급 캐 시 를 분포 식 캐 시 로 확장 하 는 것 은 Ehcache 확장 성분 캐 시 처럼 간단 합 니 다.그 우세 도 자동 으로 계승 할 수 있다
읽 기와 쓰기 메커니즘(쓰기 Behind,Write Through)
1) Writer 인 터 페 이 스 를 제공 합 니 다.캐 시 데 이 터 를 데이터베이스 나 다른 저장 매체 에 기록 하 는 것 을 책임 집 니 다.
2) Write Behind 는 데 이 터 를 캐 시 에 저장 하고 배경 스 레 드 로 캐 시 데 이 터 를 데이터베이스 나 다른 저장 매체 에 비동기 로 저장 할 수 있 습 니 다.캐 시 데이터 가 Terracotta 서버 에 저장 되 어 있 기 때문에 클 라 이언 트 JVM 이 다운 되 어 데이터 가 손실 되 지 않 습 니 다.Write Behind 는 캐 시 를 통 해 데이터 기록 속 도 를 높이 는 효과 적 인 방법 입 니 다.
3) Write Through 는 데 이 터 를 캐 시 에 기록 한 후 즉시 Writer 를 데이터베이스 에 기록 합 니 다.
프로필 설명
EhCache 는 기본 적 인 상황 에서 사용자 가 자신의 프로필 ehcache.xml 또는 ehcache-failsafe.xml 을 제공 하지 않 았 을 때 EhCache 는 자신의 Jar 압축 파일 에 포 함 된 ehcache-failsafe.xml 파일 의 맞 춤 형 정책 에 따라 캐 시 를 관리 합 니 다.사용자 가 classpath 에서 ehcache.xml 또는 ehcache-failsafe.xml 파일 을 제공 하면 EhCache 는 이 파일 을 적용 합 니 다.두 파일 을 동시에 제공 하면 ehCache 는 ehcache.xml 파일 의 설정 을 사용 합 니 다.
EhCache.xml 기본 내용 은 다음 과 같 습 니 다(ehcache 루트 디 렉 터 리 에서 이 파일 을 찾 을 수 있 습 니 다).파일 속성 설명 은 다음 과 같 습 니 다. diskStore:디스크 에 저 장 된 데 이 터 를 지정 합 니 다.l defaultCache:Cache Manager.add("demoCache")를 통 해 Cache 를 만 들 때 EhCache 는 l
DEMO
package com.yale.ehcache.demo;
import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/** * yaleCache , :
* manager.addCache("yaleCache");
* spring,
*/
public class EhCacheManagerDemo {
protected static final Log log = LogFactory.getLog(EhCacheTestDemo.class);
public static void main(String[] args) {
CacheManager manager = new CacheManager();
manager.addCache("yaleCache");
String[] cacheNames = manager.getCacheNames();
for (String cacheName : cacheNames)
{
log.info(" :" + cacheName);
}
//
Cache cache = manager.getCache("yaleCache");
Element element = new Element("yale1", " 1");
// ,EhCache
cache.put(element); //
log.info(cache.get("yale1").getValue());
element = new Element("yale2", " 2");
cache.put(element); log.info(cache.get("yale2").getValue());
log.info(cache);
// Element
log.info(cache.getMemoryStoreSize());
// Element
log.info(cache.getDiskStoreSize());
// “data1”
cache.remove("yale1");
log.info(cache.getMemoryStoreSize());
log.info(cache.getDiskStoreSize());
System.exit(-1);
}
}
통합 spring acegi
웹 응용 프로그램 이 보 호 된 자원 을 요청 할 때마다 인증 관리 자 는 사용자 의 안전 정 보 를 얻 기 위해 호출 됩 니 다.사용자 정 보 를 얻 는 것 이 데이터 베 이 스 를 조회 하 는 것 과 관련 이 있다 면 매번 같은 데 이 터 를 조회 하 는 것 은 성능 에 큰 소 모 를 할 수 있 습 니 다.사용자 정보 가 자주 바 뀌 지 않 는 다 면 첫 번 째 조회 때 사용자 정 보 를 캐 시 하고 후속 조회 에서 캐 시 에서 사용자 정 보 를 직접 가 져 오 는 것 이 좋 습 니 다(저 는 acegi 설정 파일 에 설정 합 니 다).
<!-- EhCacheBasedUserCache EhCache , 、 ,Acegi -->
<bean id="userCache" class="org.acegisecurity.providers.dao.cache.EhCacheBasedUserCache">
<property name="cache" ref="userCacheBacked" />
</bean>
<!-- EhCacheFactoryBean Cache Bean,Cache CacheManager -->
<bean id="userCacheBacked" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager" ref="cacheManager" />
<property name="cacheName" value="myUserCache" /> <!-- -->
</bean>
<!-- , CacheManager Cache -->
<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
<property name="configLocation" value="/WEB-INF/ehcache-security.xml" />
</bean>
<!-- DaoAuthenticationProvider 。
, ( ) -->
<bean id="daoAuthenticationProvider" class="org.acegisecurity.providers.dao.DaoAuthenticationProvider">
<property name="userDetailsService" ref="userDetailsService"/>
<property name="passwordEncoder" ref="passwordEncoder"/>
<property name="saltSource" ref="saltSource"/>
<property name="userCache" ref="userCache"/>
</bean>
Dao AuthenticationProvider 는 org.acegisecurity.providers.dao.UserCache 인터페이스의 실현 클래스 지원 을 통 해 사용자 정 보 를 늦 춥 니 다.
저금인터페이스 UserCache 의 방법 은 캐 시 에 사용자 내 역 정 보 를 넣 고 얻 고 삭제 하 는 기능 을 제공 합 니 다.저 희 는 사용자 캐 시 구현 클래스 를 작성 하여 사용자 정보 에 대한 캐 시 를 실현 할 수 있 습 니 다.UserCache 구현 클래스 를 개발 하기 전에 Acegi 가 제공 하 는 두 가지 편리 한 UserCache 구현 클래스 를 먼저 고려 해 야 합 니 다.org.acegisecurity.providers.dao.cache.NullUserCachelog.acegisecurity.providers.dao.cache.EhCacheBased UserCachel
NullUserCache 는 사실상 캐 시 를 하지 않 습 니 다.getUser FromCache 방법 을 언제든지 호출 하면 되 돌아 오 는 값 은 null 입 니 다.Dao AuthenticationProvider 가 사용 하 는 기본 UserCache 구현 입 니 다.
EhCacheBased UserCache 는 더 실 용적 인 캐 시 구현 클래스 입 니 다.이것 은 오픈 소스 프로젝트 ehcache 를 바탕 으로 이 루어 집 니 다.ehcache 는 자바 에 대한 간단 하고 빠 른 캐 시 솔 루 션 이자 Hibernate 의 기본 및 추천 캐 시 방안 입 니 다.
유지보수 도구 developer console 은 개발 자 에 게 전문 적 으로 제공 하 는 클 러 스 터 모니터링,디 버 깅,관리 도구 입 니 다.클 러 스 터 의 토폴로지 정 보 를 볼 수 있 고 클 러 스 터 에서 공 유 된 데 이 터 를 볼 수 있 으 며 통계 정 보 를 얻 을 수 있 으 며 CPU,Heap 사용 상황 을 볼 수 있 으 며 스 레 드 스 택 시험 보기(thread dump)를 얻 고 디 버 깅 정 보 를 수집 할 수 있 습 니 다.Ehcache 와 Hibernate 사용자 에 게 는 캐 시 사용 상황 을 모니터링 하고 캐 시 설정 을 조정 할 수 있 습 니 다.operation center 는 클 러 스 터 관리자 에 게 전용 관리 도 구 를 제공 합 니 다.각 서버 와 클 라 이언 트 의 CPU,Heap 사용 상황 을 감시 하고 공유 데 이 터 를 백업 하 며 서버 나 클 라 이언 트 프로그램 을 닫 는 데 사용 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
캐시 EHCache(다섯 번째 레코드)주석의 형식으로 캐시를 표시할 수도 있지만, 설정 파일을 수정하려면springmodules의 문서를 보십시오. 여기서는 제공하지 않습니다. 캐시 설명: 1. 메소드에 매개변수가 없음 시간 만료 캐시 실효;flush를...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.