现在有一个用户收藏内容埸景,其设计如下
有三个数据 User (用户表), UserFavor (用户收藏表), Post (发布内容表)
UserFavor 是关联 User (用户表)和 Post (发布内容表),对应关系是 M:N
现有一个接口 GET:/post?limit=n(n>10) 要从 Post (发布内容表)查看 n 条记录的内容
这个可以传入用户的 ID 来查看 用户是否有收藏发布的内容如: GET:/post?limit=n&uid=User.id
这个接口里会返回 isFavor 状态来标识用户是否已收藏内容
问题来了
如果代码上实现的话就是先从 Post 取得 n 条数据 之后再遍历里面的 id 再查 UserFavor 来匹配用户的收藏
那数据请求就是 1+n 次
那在什么方案可以减少这个请求次数 但又不减 收藏的标识 实时性呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.