关于收藏统计数的问题

1. 背景

系统需求有一个用户收藏帖子的功能,并且在用户主页需要展示收藏数量。如果展示收藏数量的时候实时去count统计的话这样子的性能感觉会比较差,所以在用户表维护了一个收藏帖子数量的字段,在收藏以及取消收藏的时候去自增或者自减。

2. 问题

因为帖子是可以删除、上下架的,现在只在用户收藏以及取消收藏的时候去维护数量,一旦用户上下架之后,用户收藏数量跟收藏列表就会出现不一致的情况。

1). 暂时想到的解决方法

在帖子删除、上下架的时候去维护收藏这篇帖子的用户的收藏数量,但是这种做法带来的弊端是显而易见的。每次都需要去查询收藏这边帖子的用户再去维护数量

因为这种做法感觉不太合适。想请问一下社区的兄弟们做过这些需求的,帮小弟提点建议或者思路:bowtie:

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 7

参考视频站

视频失效时,不对收藏者做处理

收藏者查看收藏时,显示 n 个视频已失效,点击清理

2年前 评论
MArtian 2年前
DonnyLiu 2年前
kolin 2年前

把用户收藏帖子的总数存到 redis

  • 查看主页时:在 redis 中获取,如果没有到数据库中查 count ,再存 redis

  • 收藏帖子的:收藏完成后,删除 redis 中用户收藏帖子总数

  • 删除帖子时:删除完成后,删除 redis 中用户收藏帖子总数

2年前 评论
巅峰互联

帖子删除,但是收藏记录未删除,如何看待多表查询

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!