본문 바로가기

프로그래밍 학습/소프트웨어개발 이론

캐시로 인한 성능향상

728x90

객체 캐싱

객체를 캐싱하는 기본 목적은 생성하는데 많은 시간이 소비되는 객체를 사용하고 난 뒤에 메모리에서 삭제하는 것이 아니라 메모리에 저장해두었다가 다시 그 객체가 사용될 때 바로 읽어와 객체생성의 소비시간을 줄인다. 객체를 생성하는 과정을 메모리에 저장했다가 다시 불러오는 개념이다.


캐시 관리

캐시는 메모리 크기가 무한하지 않기 때문에 어플리케이션을 실행하는데 영향을 주지 않을 정도여야 한다. 메모리의 크기가 제한되어 있기 때문에 필요한 것이 캐시에 저장할 객체를 선택하는 기준이다. 캐시는 오래전에 저장한 객체 정보도 남아있기 때문에 잘 사용되지 않는 객체들은 캐시 메모리에서 삭제를 해주고 주로 사용되는 객체를 캐시 메모리에 넣어서 관리해야 한다.  캐시를 관리하는 방법에는 여러가지가 있는데 일반적으로 사용되는 방법은 LRU(Least Recntyle Used)이다. LRU는 가장 최근에 사용된 캐시의 메모리를 가장 앞쪽으로 위치시키는 방법이다.



그림예제



참조 : http://javacan.tistory.com/45