읽었습니다 this post.이 게시물에 제안 된대로 전체 개체를 가져올 수 없습니다. MIN, MAX, Count 값을 얻고 있습니다. 그래서 새 게시물. 다음은 내가 원했던 것과 가지고있는 것입니다.스칼라 쿼리를위한 최대 절전 모드 캐시
- My Spring 앱은 DB (MySQL)를 변경하지 않습니다. 단지 데이터를 읽습니다. DB의 기존 데이터에 대한 변경 사항을 인식하지 못합니다.
내 모든 쿼리는 스칼라 데이터를 반환합니다. 전체 개체가 아닙니다. (예 :
Select employee.name,office.address,MIN(employee.rec) from ... where..
)내 쿼리를 캐시하고 싶습니다. 그래서 나는 최대 절전 모드 구성에서 쿼리 캐시를 활성화했다. 그리고 내 이름 붙여진 쿼리에
cacheable="true"
을 추가했다.
4. 제 2 수준 캐시를 사용합니다.
5. 퍼시스턴스 클래스에 대해 아래의 주석을 추가하십시오.
@Cacheable
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
6. 24 시간마다 캐시를 새로 고침하고 싶습니다. 업데이트 된 timeToLiveSeconds
은 ehcache.xml defaultCache
에 있습니다.
올바른 방법입니까? 쿼리가 쿼리 캐시의 두 번째 수준 캐시에 도달하는지 여부를 확인하는 방법
업데이트 : 통계를 추가 했으므로 2 차 수준 캐시에 히트/미스가 없습니다.
없다 : 두 번째 레벨 캐시의 히트 수를 확인하려면
. 캐시가 히트되었는지 알아 보려면 (hibernate.show_sql 속성을 true로 설정하여) SQL 로깅을 켜고 쿼리가 생성되는지 확인하십시오. –
감사합니다. @JBNizet. 내 모든 다른 구성이 올바른 것으로 가정합니다 :) – dj8485