2009-10-09 6 views
1

다른 파일 묶음이 읽는 파일이 있습니다. 파일의 일부는 여러 파일 열기를 사용하여 여러 번 읽습니다. 캐싱 파일 스트림을 정렬하고 싶습니다.Caching stream in C#

파일의 일부가 이전에 읽혀진 경우 이후의 모든 읽기는 캐시에서 발생합니다. 그렇지 않으면 파일 부분이 읽히고 캐시에 콘텐츠가 추가됩니다.

파일이 변경되지 않으므로 캐시를 무효화 할 필요가 없습니다.

어딘가에서 이러한 클래스를 사용할 수 있다는 것을 알고 계시나요?

+0

파일의 작은 부분을 캐시합니다. 소프트웨어가 지역 원칙을 따른다면 문제가 없습니다. 그렇지 않으면, 당신은 무엇을하려고합니까? 결국 전체 파일을 메모리에 저장 하시겠습니까? 지연 로딩 되길 원합니까? 아니면 선불로 로딩해도 괜찮습니까? –

답변

1

파일 크기가 작은 경우 공유 파일 MemoryStream 개체를 사용하여 파일 스트림을 캐시 할 수 있습니다. 그러나 파일의 일부를 캐시하고 캐시에서 파일의 일부를 식별하는 것은 확실하지 않습니다.

전체 파일을 메모리 스트림에 캐시 할 수 있으며 필요할 때마다 사용할 수 있습니다. 그리고 파일 이름을 키로 사용하여이를 식별 할 수 있습니다. 이를 위해서는 파일 이름 (키) - binarystream (값) 쌍을 저장하기위한 목록 또는 사전 종류의 구조를 유지해야합니다.

아래 링크는 동일한 주제를 다뤘습니다. 이

건배

라 메쉬 VEL 데 도움이

희망 모습이

이 파일 IO에 대한 캐싱 메커니즘에 내장,하지만 그것의
+1

파일이 약간 크고 캐시를 부분적으로 캐시하고 싶습니다. – bh213