Post

[Algorithm] LRU cache

[Algorithm] LRU Cache

Latest Recently Used Cache

Cache

  • 데이터나 값을 미리 복사해 놓은 임시 장소.
  • 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우나 값을 다시 계산하는 시간을 절약하는 경우 사용.
  • 미리 데이터를 복사해 놓으면 계산이나 접근 시간 없이 빠르게 데이터에 접근 가능.
  • 사용 가능한 리소스 양 제한 있음.

LRU Cache

  • OS의 페이지 교체 알고리즘의 하나.
  • 가장 오래 사용하지 않은 페이지를 교체하는 알고리즘.
  • 공간이 부족하면 가장 최근에 사용하지 않은 항목을 제거.

구현 방법

  • Doubly Linked List로 구현.
  • head에 가까운 데이터일수록 최근에 사용한 데이터.
  • tail에 가까울수록 사용하지 않은 데이터.
  • 사용 가능한 리소스를 다 쓴 상태에서 새로운 데이터를 추가할 때 tail의 데이터를 제거한다.
This post is licensed under CC BY 4.0 by the author.