比如点击阅读了一个帖子,帖子后面的数字会变成灰色,之后有新回复时又会变成黑色的。这个在后台怎么存储? 如果一个用户阅读了 100 篇帖子,要为每篇帖子都维护一个已读状态吗?这样后台的数据量会不会有点大?
尤其是用户量大的时候,本社区是怎么做的?
https://github.com/ruby-china/homeland/blob/f402be00446cd1a269baf8feb74e7ec0be24a65d/db/schema.rb#L102
可以直接看 Homeland 的具体 Schema 实现。
不是 notifications 实现的
notifications
@falcon 你看这个文件
https://github.com/ruby-china/homeland/blob/f402be00446cd1a269baf8feb74e7ec0be24a65d/app/models/user/topic_actions.rb#L17
简单来说,每个用户对每个 Topic 有个 read 的 cache,列表是通过 multi API 批量查询的。
multi
大概明白了,现在我要去了解下,用什么技术缓存到浏览器。
嗯
学习了