0

仿知乎评论业务设计(Redis点赞功能设计)

2024.12.05 | 念乡人 | 8次围观

明年就要秋招了,想着做个项目丰富下自己的简历。项目中有个评论业务,一开始在百度上搜相关方案,要么内容不全复制粘贴,要么设计有硬伤无法采用。因为本人是重度知乎使用者,觉得知乎的评论设计还算可以,因此下定决心自己从零开始设计一款评论系统。笔者能力有限,有什么错误还望各位大神在评论区指出。

先看知乎是如何设计的。

对于文章详情页,显示两条热点评论、发起评论用户名、id、时间、点赞数、评论内容。

仿知乎评论业务设计(Redis点赞功能设计)

点击查看全部评论后,显示评论以及评论的子评论。子评论只显示两条。

仿知乎评论业务设计(Redis点赞功能设计)

点击查看全部回复后,显示该评论下的所有回复,按回复时间顺序排列。

仿知乎评论业务设计(Redis点赞功能设计)

业务总结

  1. 文章只显示两条评论,点击查看全部评论进入评论详情页

  2. 评论要显示的内容:用户头像、用户名称,评论时间,评论内容。子评论(如果有)只显示两条,不显示评论的回复。

  3. 文章的评论按照点赞数排序。

  4. 子评论按照评论时间顺序排列。对于子评论的评论显示@符号,与被@人。

综上,采用二级结构(一级为文章的评论,二级为评论的评论)进行设计。

评论表

sql语句

实际使用还需要建索引,这里不再赘述,读者自行操作即可。

 
字段名字段含义comment_id评论表idmj_id所属文章parent_id父评论id(如果是一级评论则为-1)user_id用户idupload_time发表时间content内容reply_to回复人(如果是对文章的评论,则为空)like_count点赞数

用户表(部分)

此处用户表仅贴出业务需要的部分。

sql语句
 
 

前期准备

导包
 
配置
 
 
 
 
 

业务代码

 
 
 
 
 
 

这样基本就大功告成了,对于本文有什么困惑或者遗漏烦请在评论区指出。后续会继续更新点赞业务的设计(绝对和当前能查到的设计方案不一样,而且我自认为更好),想看后续的请点赞并关注哦~

版权声明

本文系作者授权念乡人发表,未经许可,不得转载。

标签列表