약 10,000 개의 불변 개체를 처리하는 C# 응용 프로그램이 있습니다. 각 개체의 크기는 50KB - 1MB입니다. 응용 프로그램은 모든 작업에 대해 약 10-100 개의 개체를 선택합니다. 어떤 개체가 선택되는지는 상황과 사용자 선택에 따라 다르지만 매우 자주 사용되는 개체가 몇 가지 있습니다.인기있는 기반 캐싱을위한 솔루션
모든 개체를 항상 메모리에 유지하는 것은 너무 많은 일이지만 디스크 액세스 시간이 길어지고 있습니다. 디스크 활동을 줄이기 위해 인기 기반 캐시를 사용하고 싶습니다. 캐시에는 max가 포함됩니다. 300 개체. 나는 사용 패턴 중에 어느 것이 캐싱되어야 하는지를 결정할 것으로 기대한다. 각 객체에 액세스 카운터를 쉽게 추가 할 수 있습니다. 더 인기있는 것들이 들어 오면 덜 인기있는 것들은 캐시를 떠나야합니다. 내 엉덩이를 코딩하지 않고도 쉽게 할 수있는 독창적 인 방법이 있습니까?
+1 바퀴를 재발 명하지 않았기 때문에 +1. OP가 캐시에서 가장 자주 사용되는 항목을 우선적으로 유지하는 슬라이딩 만료를 사용하려고한다는 것을 아는 것이 중요합니다. –