캐시를 사용하여 데이터베이스 조회 빈도를 낮추다
// AdLocation mediaId , media ID
for (AdLocation adLocation : adLocationList) {
// TODO
// media
Media media = mediaMapper.get(adLocation.getMediaId());
}
그러나 이렇게 처리하는 것은 데이터베이스에 대한 부담이 크고 이런 값의 변화 가능성이 낮다.우리는 캐시를 채택할 수 있다.우리는 아래와 같이 수정했다.
// id media , media
// com.google.common.cache Jar , , map , key - value。
// refreshAfterWrite ,maxiumsize map 。
private LoadingCache<Long, Media> mediaCache = CacheBuilder.newBuilder().maximumSize(10000)
.refreshAfterWrite(20, TimeUnit.MINUTES).build(new CacheLoader<Long, Media>() {
@Override
public Media load(Long key) throws Exception {
return mediaMapper.selectByPrimaryKey(key);
}
});
이제 캐시를 사용할 수 있습니다.
for(AdLocation adLocation : adLocationList) {
// 。
Media media = mediaCahe.get(adLocation.getMediaId());
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
SQLite의 query로 망설임이것은 내가 처음 안드로이드 응용 프로그램 개발에서 망설이고, 그 후 해결 된 방법을 비망록으로 철자하고 있습니다. java에서 SQLite를 이용한 애플리케이션을 작성하는 동안 EditText에 입력된 item이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.