数据库 我想问一下,本论坛的帖子已读,未读情况在后台表结构怎么设计?

falcon · 2018年12月16日 · 最后由 falcon 回复于 2019年04月18日 · 7068 次阅读

比如点击阅读了一个帖子,帖子后面的数字会变成灰色,之后有新回复时又会变成黑色的。这个在后台怎么存储? 如果一个用户阅读了 100 篇帖子,要为每篇帖子都维护一个已读状态吗?这样后台的数据量会不会有点大?

尤其是用户量大的时候,本社区是怎么做的?

dsh0416 回复

不是 notifications 实现的

@falcon 你看这个文件

https://github.com/ruby-china/homeland/blob/f402be00446cd1a269baf8feb74e7ec0be24a65d/app/models/user/topic_actions.rb#L17


简单来说,每个用户对每个 Topic 有个 read 的 cache,列表是通过 multi API 批量查询的。

huacnlee 回复

大概明白了,现在我要去了解下,用什么技术缓存到浏览器。

falcon 关闭了讨论。 12月18日 13:03
falcon 重新开启了讨论。 12月18日 13:03
需要 登录 后方可回复, 如果你还没有账号请 注册新账号