>  기사  >  Java  >  mybatis 1단계 캐시와 2단계 캐시의 차이점은 무엇입니까?

mybatis 1단계 캐시와 2단계 캐시의 차이점은 무엇입니까?

coldplay.xixi
coldplay.xixi원래의
2021-01-22 10:37:3548050검색

mybatis의 1단계 캐시와 2단계 캐시의 차이점: 1. Mybatis의 1단계 캐시는 SQLSession을 참조합니다. 1단계 캐시의 범위는 SQlSession입니다. 2. Mybatis는 기본적으로 이를 활성화하지 않습니다.

mybatis 1단계 캐시와 2단계 캐시의 차이점은 무엇입니까?

이 기사의 운영 환경: Windows 7 시스템, MyBatis 버전 3.5.6, Dell G3 컴퓨터.

mybatis의 1단계 캐시와 2단계 캐시의 차이점:

1) Mybatis의 1단계 캐시는 SQLSession을 참조합니다. 1단계 캐시의 범위는 SQlSession입니다. 기본적으로 1단계 캐시. 동일한 SqlSession에서 동일한 SQL 쿼리를 실행하면 처음에는 데이터베이스를 쿼리하여 캐시에 쓰고 두 번째에는 캐시에서 직접 가져옵니다. SQL이 실행되고 두 쿼리 사이에 추가, 삭제 및 수정이 발생하면 SQLSession 캐시가 지워집니다.

각 쿼리는 먼저 캐시에서 검색합니다. 찾을 수 없으면 데이터베이스를 쿼리한 다음 결과를 캐시에 씁니다. 마이바티스의 내부 캐시는 HashMap을 사용하며, 키는 hashcode+statementId+sql 문이다. 값은 쿼리 결과 집합에 매핑된 Java 개체입니다. SqlSession이 삽입, 업데이트, 삭제 및 기타 작업 커밋을 수행한 후 SQLSession 캐시가 지워집니다.

2) 두 번째 수준 캐시 두 번째 수준 캐시는 매퍼 수준에 있습니다. Mybatis는 기본적으로 두 번째 수준 캐시를 활성화하지 않습니다. 사용자 정보를 질의하기 위해 매퍼 아래의 SQL이 처음 호출될 때, 질의된 정보는 매퍼에 해당하는 2차 캐시 영역에 저장됩니다. 네임스페이스 아래 매퍼 매핑 파일에 대한 두 번째 호출에서는 동일한 SQL을 사용하여 사용자 정보를 쿼리하고 결과는 해당하는 두 번째 수준 캐시에서 검색됩니다.

mybatis 1단계 캐시와 2단계 캐시의 차이점은 무엇입니까?

관련 추천: Java 입문 튜토리얼

위 내용은 mybatis 1단계 캐시와 2단계 캐시의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.