繁体   English   中英

在C#中缓存流

[英]Caching stream in c#

我有一堆文件正在被另一堆线程读取。 使用多个文件打开可以多次读取文件的某些部分。 我想要一种缓存文件流。

如果以前读取过文件的一部分,则所有后续读取都将从缓存中进行,否则将读取文件的一部分并将内容添加到缓存中。

文件不会更改,因此无需使缓存无效。

有没有人知道这样的类可以在某个地方使用或类似的机制来解决这个问题?

如果文件很小,则可以使用共享的MemoryStream对象来缓存文件流。 但是不确定是否要缓存文件的一部分并从缓存中识别文件的一部分。

您可以将整个文件缓存在一个内存流中,并且可以在需要时使用它。 您可以使用文件名作为密钥来识别它。 为此,您必须维护列表或字典类型的结构来存储文件名(键)-二进制流(值)对。

以下这些链接讨论了相同的主题。 看一看

希望这可以帮助

干杯

拉梅什·维尔

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM