SpringBoot 2 는 EHcache 구성 요 소 를 통합 하여 경량급 캐 시 관 리 를 실현 합 니 다.
5590 단어 SpringBootEhcache경량급 캐 시 관리
Hibernate 캐 시
Hibernate 3 급 캐 시 메커니즘 안내:
1 급 캐 시:Session 단계 에 따라 캐 시 공간 을 할당 하고 캐 시 에 접근 하 는 대상 정보 입 니 다.Session 이 닫 히 면 자동 으로 캐 시 를 지 웁 니 다.
2 급 캐 시:Session Factory 대상 캐 시 입 니 다.여러 개의 Session 대상 이 공유 할 수 있 습 니 다.2 급 캐 시 는 기본적으로 닫 혀 있 습 니 다.수 동 으로 켜 야 하고 EhCache 구성 요소 에 의존 합 니 다.
3 급 캐 시:캐 시 를 조회 하고 이 캐 시 를 여 는 상황 에서 sql 을 반복 해서 사용 하여 특정한 범위 의 데 이 터 를 조회 하면 캐 시 를 진행 합 니 다.
EHCache 캐 시 특징
Ehcache:Jvm 가상 컴퓨터 에 직접 캐 시 되 어 속도 가 빠 르 고 효율 이 높 으 며 대규모 캐 시 데 이 터 를 처리 하기에 적합 하지 않 습 니 다.분포 식 환경 에서 캐 시 데이터 공유 작업 이 복잡 합 니 다.
Redis:독립 된 캐 시 미들웨어 로 분포 식 캐 시 시스템 에서 매우 좋 습 니 다.캐 시 데이터 공유,대량의 데이터 캐 시 를 효과적으로 지탱 하고 보초병 모드 를 지원 하거나 클 러 스 터 모드 의 높 은 성숙 방안 을 사용 할 수 있 습 니 다.
2.통합 SpringBoot 프레임 워 크
1.핵심 의존
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
</dependency>
2.로 딩 설정기본 설정
spring:
cache:
ehcache:
config: classpath:ehcache.xml
시작 클래스 설명
@EnableCaching
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class,args) ;
}
}
3.설정 설명
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../config/ehcache.xsd">
<!-- , -->
<diskStore path="java.io.tmpdir"/>
<defaultCache
maxElementsInMemory="1000"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
maxElementsOnDisk="10000000"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU">
<persistence strategy="localTempSwap"/>
</defaultCache>
<cache name="userEntity"
maxElementsInMemory="1000"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
maxElementsOnDisk="10000000"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU">
<persistence strategy="localTempSwap"/>
</cache>
</ehcache>
설정 매개 변수 설명
@Service
public class CacheService {
private static final Logger LOGGER = LoggerFactory.getLogger(CacheService.class);
@Resource
private UserMapper userMapper ;
@Cacheable(value="userEntity") // ,
public UserEntity getById (Integer id){
// ,
LOGGER.info("getById..."+id);
return userMapper.selectById(id) ;
}
@CacheEvict(value="userEntity",key = "#id") // ID , ID
public void updateUser(Integer id) {
UserEntity user = new UserEntity() ;
user.setId(id);
user.setUserName("myCache");
userMapper.updateById(user);
}
}
@Cacheable:주석 표 시 는 한 가지 방법 에 도 표시 할 수 있 고 한 가지 방법 에 표시 할 수 있 습 니 다.이 방법 은 캐 시 를 지원 합 니 다.이 방법 이 호출 된 후에 값 을 캐 시 합 니 다.다음 에 같은 요청 매개 변 수 를 실행 할 때 캐 시 에서 결 과 를 직접 얻 을 수 있 습 니 다.다시 실행 하지 않 아 도 됩 니 다.@CacheEvict:캐 시 요 소 를 제거 해 야 하 는 방법 이나 클래스 에 주석 을 표시 합 니 다.한 클래스 에 표 시 될 때 모든 방법 이 실행 되면 캐 시 제거 작업 을 촉발 하고 지정 한 속성 에 따라 제거 할 수 있 습 니 다.
소스 코드 주소
GitHub/주소
https://github.com/cicadasmile/middle-ware-parent
GitEE/주소
https://gitee.com/cicadasmile/middle-ware-parent
이상 은 SpringBoot 2 가 Ehcache 구성 요 소 를 통합 하여 경량급 캐 시 관 리 를 실현 하 는 상세 한 내용 입 니 다.SpringBoot 2 가 Ehcache 구성 요 소 를 통합 하 는 것 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Java・SpringBoot・Thymeleaf】 에러 메세지를 구현(SpringBoot 어플리케이션 실천편 3)로그인하여 사용자 목록을 표시하는 응용 프로그램을 만들고, Spring에서의 개발에 대해 공부하겠습니다 🌟 마지막 데이터 바인딩에 계속 바인딩 실패 시 오류 메시지를 구현합니다. 마지막 기사🌟 src/main/res...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.