我正在创建自己的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/