我正在用c#开发一个应用程序,它处理来自缓冲区等队列的大量传入和传出数据。缓冲区需要是磁盘中的某种文件。数据将经常写入缓冲区(我说的每10毫秒一次!)。写入的每个数据将在缓冲区中生成1条记录/行。
同一程序也将读取缓冲区(逐行)并处理缓冲数据。处理完一行/记录后,缓冲的数据必须立即从缓冲区文件中删除行/记录,以防止它在系统重启时重新处理缓冲的数据。这种读取和删除也将以非常快的速度完成(例如每10ms左右)。
所以它就像写入,读取和清除已读取的内容的系统一样。如果程序决定不处理缓冲数据,则此缓冲区的大小可能会增加到5GB(GIGABYTE),这会变得更加困难。
**所以我的问题是:我应该用什么样的方法来处理这种缓冲机制?我看一下使用SQlite和简单的文本文件,但它们可能无法处理大尺寸或者可能不太好处理并发插入,读取和删除。
无论如何,真的很感激任何建议。提前感谢你给出的任何答案!**
答案 0 :(得分:4)
您听起来像是在描述消息队列
有MSMQ,ZeroMQ,RabbitMQ和其他几个。
以下是MSMQ上的一系列链接:
这里是RabbitMQ