在C#中运行关键流式缓冲区的最有效和最可靠的方法是什么?

时间:2013-03-02 06:31:35

标签: c# caching buffer

我正在用c#开发一个应用程序,它处理来自缓冲区等队列的大量传入和传出数据。缓冲区需要是磁盘中的某种文件。数据将经常写入缓冲区(我说的每10毫秒一次!)。写入的每个数据将在缓冲区中生成1条记录/行。

同一程序也将读取缓冲区(逐行)并处理缓冲数据。处理完一行/记录后,缓冲的数据必须立即从缓冲区文件中删除行/记录,以防止它在系统重启时重新处理缓冲的数据。这种读取和删除也将以非常快的速度完成(例如每10ms左右)。

所以它就像写入,读取和清除已读取的内容的系统一样。如果程序决定不处理缓冲数据,则此缓冲区的大小可能会增加到5GB(GIGABYTE),这会变得更加困难。

**所以我的问题是:我应该用什么样的方法来处理这种缓冲机制?我看一下使用SQlite和简单的文本文件,但它们可能无法处理大尺寸或者可能不太好处理并发插入,读取和删除。

无论如何,真的很感激任何建议。提前感谢你给出的任何答案!**