갓생사는 김초원의 개발 블로그
chocho_log
갓생사는 김초원의 개발 블로그
전체 방문자
오늘
어제
  • 분류 전체보기 (76)
    • 개발 (22)
      • Spring (4)
      • Java (3)
      • Database (2)
      • Elasticsearch (3)
      • ETC (3)
      • JPA (3)
      • 이슈 (1)
    • 코딩 테스트 (43)
      • 프로그래머스 (23)
      • 백준 (12)
      • TIP (8)
    • 자료구조 (2)
    • 알고리즘 (4)
    • 잡생각 (0)
    • 경험 (3)
      • AWS re:Invent 2024 (3)

블로그 메뉴

    공지사항

    인기 글

    태그

    • Spring Boot Embedded Tomcat
    • jar
    • war
    • Lazy Loading
    • jpa
    • querydsl
    • 지연로딩
    • 디자인패턴 #SOLID 원칙

    최근 댓글

    최근 글

    갓생사는 김초원의 개발 블로그

    chocho_log

    LRU(Least Recently Used) 캐시 알고리즘
    알고리즘

    LRU(Least Recently Used) 캐시 알고리즘

    2020. 11. 14. 01:37

    LRU 캐시 알고리즘

    - Least Recently Used (가장 최근에 사용한)

    - 가장 오래전에 참조된, 덜 최근에 사용된 데이터를 내쫓는다. 최근에 참조된 것이 가까운 미래에 참조될 가능성이 높은 성질을 이용한 알고리즘이다.

    - JAVA에서는 Queue 자료구조를 사용하여 구현할 수 있다. 

     

    실행 과정

    1) data : 1 , 캐시 비어있음. 캐시에 1 삽입

    2) data : 2, 캐시 공간 있음. 캐시에 2 삽입

    3) data : 3, 캐시 공간 있음. 캐시에 3 삽입

    4) data : 4, 캐시 공간 있음. 캐시에 4 삽입

    5) data : 1, 캐시에 이미 데이터 1이 있음. continue

    6) data : 2, 캐시에 이미 데이터 2가 있음. continue

    7) data : 5, 캐시가 꽉 찬 상태이며 데이터 5가 없음. 
        가장 덜 최근에 호출된 3을 내쫒고 5를 삽입

    .... 

     

    '알고리즘' 카테고리의 다른 글

    최단 경로 알고리즘 - JAVA  (2) 2021.07.05
    [Java] 에라토스테네스의 체 - 소수 판별  (0) 2021.04.07
    이분 탐색(Binary Search)  (0) 2021.01.27
      '알고리즘' 카테고리의 다른 글
      • 최단 경로 알고리즘 - JAVA
      • [Java] 에라토스테네스의 체 - 소수 판별
      • 이분 탐색(Binary Search)
      갓생사는 김초원의 개발 블로그
      갓생사는 김초원의 개발 블로그
      갓생사는 김초원의 개발 블로그 github: https://github.com/kimchowon

      티스토리툴바