Кэширование потока в c # - PullRequest
       16

Кэширование потока в c #

1 голос
/ 09 октября 2009

У меня есть куча файлов, которые читаются другой кучей потоков. Некоторые части файлов читаются несколько раз, используя несколько открытий файлов. Я хотел бы иметь своего рода поток кэширования файлов.

Если часть файла была прочитана ранее, все последующие чтения будут поступать из кэша, в противном случае часть файла будет считана, а содержимое добавлено в кэш.

Файлы не меняются, поэтому нет необходимости аннулировать кэш.

Кто-нибудь знает, что такой класс доступен где-то или подобный механизм, который поможет с такой проблемой?

1 Ответ

1 голос
/ 09 октября 2009

Если размер файла небольшой, вы можете использовать общий MemoryStream объект для кэширования файловых потоков. Но я не уверен насчет кэширования части файла и идентификации части файла из кэша.

Вы можете кэшировать весь файл в потоке памяти и использовать его при необходимости. И вы можете определить это, используя имя файла в качестве ключа. Для этого вам нужно сохранить структуру списка или словаря для хранения пар имя файла (ключ) - двоичный поток (значение).

эти ссылки ниже обсуждали те же темы. посмотри

надеюсь, это поможет

Приветствия

Рамеш Вэл

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...