【发布时间】:2015-11-22 15:32:51
【问题描述】:
我正在开发一个网站。我想获得有关设计的反馈。网站功能类似于 Reddit、ProductHunt 等(即基于投票)。这是概述 1.后端服务从网络获取帖子并存储到数据库中。 2. 帖子显示在网站上(顶部,新)。 3.顶部显示基于排名(投票,时间因素)的网站。 4. 滚动时,用户会看到更多帖子
设计:
数据库表:帖子、用户、投票
后端服务: 后端服务定期从网络上获取帖子并存储到数据库(帖子表)中。
网站: 当用户访问网站时,用户会看到热门帖子。根据要求,网站代码查询数据库,该数据库返回根据时间和投票排名的链接。当使用投票特定帖子时,网站代码会将其添加到数据库中。网站允许登录并将用户信息存储在用户表中。
问题: 我应该考虑使用 Redis 缓存而不是查询数据库来获取每个请求的排名帖子吗?如果是,那么应该将什么存储到缓存中,更新缓存的逻辑应该是什么?
如果我最终使用缓存,那么缓存应该有两个条目。 1. 排名帖子 1. 新帖子。对于排名帖子,后端服务是否应该定期更新缓存?对于新帖子,每当从网络获取新帖子时,我是否应该使缓存无效?
如果我使用缓存路由,如何处理无限滚动?示例:用户根据排名查看帖子。用户在 15 分钟后滚动查看新帖子。到那时排名可能会改变。
如果有任何反馈/帮助,我将不胜感激!
【问题讨论】:
标签: caching architecture redis