我正在使用 LAMP 构建一个提要(rss、twitter、其他服务等)聚合器。它与谷歌阅读器非常相似,人们可以根据需要添加任意数量的提要,然后能够一次阅读他们的提要、对其进行排序、查看单个提要或提要组。
我之前已经构建过这种类型的服务,但只是针对一小部分有限的人,其中整个组都可以访问所有聚合的提要项目。所以,这很简单。
然而,这一次,我正在构建一个人们可以订阅的服务,所以我可能(理想情况下)有成千上万的用户和 10 的数千个提要,反过来,还有数百万个提要项。
我对数据库模式(简化)的方法是这样的:
users (id, name, ...)
feeds (id, name, url, ...)
feed_items (id, title, timestamp, feed_id, ... )
user_feeds (id, user_id, feed_id, ...)
但是,由于用户可以订阅 100 个提要,因此我正在尝试计划出最佳和最优化的方式来查询数据库以获取他们订阅的提要(或子集)的 feed_items。