有个逻辑需求,不知道该怎么开发

比如我的用户量是1W,我发了10篇文章。用户中心可以看到自己读到了那篇文章,那篇没读。这样一算就有1W*10=10W条数据了。有没有什么可以简化的?

阅读 2.7k
6 个回答

用一张表专门记录文章查看记录,某个用户看了的记录一条记录,字段如record_id,uid,article_id,on_time,如果这张表没有记录到的,就是未读的。

10W是很小很小的数据,不要有什么顾虑,楼上的方案都是可行的。

而且,记录已读的这张表各个字段都很简单,可以建一个复合的唯一索引,哪怕数据量达到1000W以上,也不会有性能问题,放心做吧

只记录已读的用户

这不就是已读功能吗?

位图或者redis hyperlog

只记录用户已读的数据就够了,不是已读就算未读
1w用户里,不能全都看过你的全部10篇文章,数据量比你想象的要小好几个数量级
只记录用户id和已读文章id,再加几个时间戳,就算是几百万几千万行
一般的数据库表都能顶住,实在多了按id拆表也很简单能扩
索引自行考虑

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题