比如说现在我想设计一个类似微博的站点,对于里面的每个贴子有一个热度计算的算法(例如点赞加多少分,评论加多少分,再根据时间每分钟衰减百分之多少),我的问题是贴子的热度该怎么存,因为后面要根据贴子的其他字段和贴子热度进行排序和筛选,如果直接在 mysql 的贴子表里加一个热度字段,那么由于用户量很大,需要频繁更新贴子热度,效率会不会很低,如果在 redis 里面用 zset 存贴子热度,那么多字段筛选和排序都不方便。
我还想到一个方案,贴子实时热度存 redis 里,然后每个时间间隔将所有贴子的热度刷到 mysql 里,这样排序筛选的时候使用 mysql 的数据,如果要实时数据,从 redis 里面拿,请问还有别的设计方案吗?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/1000481
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.