이 글에서는 주로 LRU 알고리즘을 기반으로 하는 Nodejs의 캐시 처리 동작을 소개하고, LRU 알고리즘의 원리와 기능, 그리고 LRU 알고리즘의 구현을 분석한다. 캐시 처리 작업 관련 구현 기술은
을 참고하세요. 이 글은 LRU 알고리즘을 기반으로 Nodejs로 구현한 캐시 처리 작업을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.
LRU는 Least Recent Used의 약어입니다. 즉, 가장 최근에 사용된 페이지 교체 알고리즘으로 가상 페이지 저장소 관리 기능을 제공하고 페이지를 기반으로 메모리가 결정됩니다. 각 페이지의 미래 사용량을 예측하는 것은 불가능하므로 "가까운 미래"의 근사치로 "최근 과거"만 사용할 수 있습니다. 따라서 LRU 알고리즘은 가장 오랫동안 사용되지 않은 페이지를 제거합니다.
특수 스택을 사용하여 현재 사용 중인 각 페이지의 페이지 번호를 저장할 수 있습니다. 새 프로세스가 페이지에 액세스하면 페이지 번호가 스택의 맨 위로 푸시되고 다른 페이지 번호는 스택의 맨 아래로 이동됩니다. 메모리가 충분하지 않으면 스택의 맨 아래에 있는 페이지 번호가 됩니다. 제거됨. 이런 방식으로 스택의 맨 위는 항상 가장 최근에 액세스한 페이지의 번호이고, 스택의 맨 아래는 가장 최근에 방문한 페이지의 페이지 번호입니다.
예를 들어 4,7,0,7,1,0,1,2,1,2,6을 순서대로 입력하면
결과는 다음과 같습니다.
4
4 7
4 7 0
4 0 7
4 0 7 1
4 7 1 0
4 7 0 1
4 7 7 1 2
4 7 1 🎜>Node.js의 LRU 캐시
, 용량은 캐시 용량이며 일반 캐싱이 0일 때 구성됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 |
|
LRU 알고리즘은 브라우저가 되기를 원하거나 다음과 유사한 일부 실용적인 응용 프로그램에도 사용할 수 있습니다. Taobao 고객의 최종 애플리케이션은 이 원칙을 사용합니다. 웹을 검색할 때 브라우저가 다운로드한 사진을 로컬 컴퓨터의 폴더에 임시 저장한다는 사실은 누구나 알고 있습니다. 다음에 웹을 방문하면 로컬 컴퓨터의 임시 폴더에서 직접 읽을 수 있습니다. 그러나 사진을 저장하는 임시 폴더에는 특정 용량 제한이 있습니다. 너무 많은 웹 페이지를 탐색하면 가장 자주 사용하지 않는 일부 이미지가 삭제되고 가장 최근에 사용한 사진만 유지됩니다. 이때, 위 알고리즘의 특수 스택은 페이지의 일련 번호를 저장하지 않고 각 그림의 일련 번호나 크기를 저장하므로 위 스택의 요소는 다음과 같습니다.
를 표현하여 스택에 객체를 저장할 수 있도록 합니다.
위 내용은 LRU 알고리즘을 기반으로 Nodejs에서 구현한 캐시 처리 연산 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!