2016-07-28 2 views
-1

녹이기위한 RAM 제한적 LRU 캐시가 있습니까? 30MB 제한을 지정하고 제한을 초과하면 LRU 항목을 삭제하기 시작합니다.녹녹 RAM 제한된 LRU 캐시?

나는 number of entries limited을 찾을 수 있습니다.

+0

30MB는 무엇을 의미합니까? 30MB의 캐시 공간 + 키/값이 포함되어 있습니까? 아니면 그냥 페이로드? 할당하는 값을 어떻게 고려합니까? 그리고 일부 값이 FlyWeight 패턴과 같은 일부 부품을 공유한다면 어떻게 될까요? 당신은 할당 된 메모리 블록의 과소 사용으로 인한 오버 헤드를 고려해야합니까? 할당 자 데이터 구조의 오버 헤드? 분열? 할당 자 자체가 OS에 메모리 페이지를 공개하기 전에 메모리 페이지를 캐시한다는 사실은 무엇입니까? => 메모리 회계에서 철저한 시도를하는 캐시를 만들 때의 악몽을 상상해보십시오 ... –

답변

2

fn set_capacity(&mut self, capacity: usize) 캐시가 보유 할 수있는 키 값 쌍 수를 설정합니다. 따라서 30MB로 제한하려면 키/값 쌍의 크기를 계산하고 LRU 캐시를 설정해야하는 용량을 얻으려면 키/값 쌍의 크기로 30MB를 나눠야합니다.