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