【发布时间】:2013-05-24 16:40:10
【问题描述】:
tutorial here 展示了如何在 PHP 中构建聚合器,但我在寻找不在我的数据库中插入相同项目的最佳方法时遇到了一些麻烦。
如果我在 http://visualwebsiteoptimizer.com/split-testing-blog/feed/ 上运行脚本,然后在 5 分钟内再次运行它,它只会再次插入相同的项目。
该教程只指定了一个间隔时间,它将重新加载 RSS 提要并保存所有项目。
我想知道 RSS 是否实现了一些仅在特定日期之后发送项目的请求标头。我看到here 我可以使用 lastBuildDate 并且可能会忽略日期早于上次获取的频道,但它没有说明这是否是强制性的。
我的问题是:如何定期检查 RSS 提要并将其插入数据库而不多次插入同一项目?
我认为唯一的方法是使用链接检查记录是否已经存在,并且仅在它不存在时才插入。我知道链接是可选的,但我不会保存没有链接的项目。不过,这似乎有点低效;在每次插入之前检查一开始可能没问题,但是当数据库开始填满时,它可能会变得很慢。
【问题讨论】: