我正在创建自己的RSS阅读器,并查看已经下载了哪些RSS项目我将链接(每个项目)转换为MD5哈希值。加载RSS源时,它会将所有项添加到ListView对象,然后针对文本文件检查MD5哈希并删除已存在的项。这样,只显示新项目。
现在这个工作正常,因为我只有5个feed,每个feed只加载大约10个项目,但就长期使用而言,文本文件会因非常旧的MD5哈希而变得混乱。我想知道SQLite数据库是否会更好地做这样的事情,例如存储Feed链接,MD5哈希和日期。但即使这样,数据库也会变得越来越大,最终会变得非常慢。
如何缓解此问题?
答案 0 :(得分:1)
如果您要存储上次检索哈希的日期,请在每次检查Feed时更新日期并且项目仍然存在,并创建一个维护例程,以删除早于预定间隔的日期。
每天运行一次维护程序。您可以使用数据库,甚至是平面缓存文件(使用XML或其他东西。)然后,您可以序列化/反序列化MD5哈希,日期等数组,从您不需要的数组中删除任何数据再做一遍,然后再将序列序列化回你的缓存文件。
答案 1 :(得分:1)
为什么不以这种方式使用RSS中的更新字段,您需要保存的是最新的获取日期,并将其与Feed更新日期进行比较。
2010-03-10T14:27:03Z
已更新> last_fetched_date =获取Feed
答案 2 :(得分:0)
SQLite非常快,即使是“大”文件也是如此。在数据库变得足够大以成为问题之前,它将需要相当多的活动。