c# - RSS阅读器的组织

标签 c# sqlite rss

我正在创建自己的RSS阅读器,并查看哪些RSS项已下载,我正在将(每个项的)链接转换为MD5哈希。加载RSS feed时,它将所有项目添加到ListView对象,然后针对文本文件检查MD5哈希并删除已经存在的哈希。这样,仅显示新项目。

现在这可以正常工作,因为我只有5个提要,每个提要仅加载约10个项目,但从长期使用的角度来看,文本文件会因为非常老的MD5哈希值而变得混乱不堪。我想知道一个SQLite数据库是否会做得更好,例如存储Feed链接,MD5哈希和Date。但是即使那样,数据库也会变得越来越大,最终变得非常慢。

我该如何缓解这个问题?

最佳答案

如果您存储的是上次检索哈希的日期,请在每次检查提要时都更新日期,并且该项目仍然存在,并创建一个维护例程,以删除早于预定间隔的日期。

例如,每天运行一次此维护例程。您可以为此使用数据库,甚至可以使用平面缓存文件(以XML或其他形式)。然后可以序列化/反序列化MD5哈希,日期等的数组,从不需要的数组中删除任何内容继续,然后再次将阵列序列化回您的缓存文件。

关于c# - RSS阅读器的组织,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2417563/

相关文章:

python - 将 Pandas 数据框保存到具有不同列名的 sqlite 中?

RSS 文件中的 Javascript

python - Django RSS-feed 转义 €

Android rss 解析 - 使用什么方法?

C# 静态类成员和 System.Windows.Controls.Image 性能问题

java - 使用 SQLite 时,Hibernate 将 Calendar 存储为 int

c# - C#中的选择语句

database - 当 Sqlite 数据库损坏时技术上会发生什么以及如何检测?

c# - Ninject 传入构造函数值

c# - System.IO.FileNotFoundException : The Web application at http://SharePoint/could not be found. 验证您是否正确键入了 URL