Java有什么项目推荐的吗?评论系统设计

项目经历第二期。。。。。。项目经历第二期。。。。。。项目经历第二期。。。。。。

大家好,我是南哥。

一个Java学习与进阶的领路人,跟着南哥我们一起Java成长。

文章目录

  1. 评论表如何设计
  2. 评论数据存储
  3. 事务控制
  4. 点赞数加入Redis

1. 评论系统设计

1.1 评论表如何设计

评论系统的表要这么设计,每条评论的id标识要么是根评论id、要么是回复评论id。如果是根评论,那parent_comment_id字段就为空;而回复别人的评论,parent_comment_id字段指向根评论id。

CREATE TABLE `comments` (
  `comment_id` INT AUTO_INCREMENT PRIMARY KEY,  -- 评论唯一ID
  `user_id` INT NOT NULL,                       -- 用户ID
  `content` TEXT NOT NULL,                      -- 评论内容
  `parent_comment_id` INT DEFAULT NULL,         -- 如果是回复,则指向原始评论ID
  `post_id` INT NOT NULL,                       -- 被评论的帖子或内容ID
  `like_count` INT DEFAULT 0,                   -- 点赞数量
  `create_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,  -- 评论创建时间
);

我们还要给评论加上点赞数,南哥给大家看看抖音的评论设计。

用户可以给每条评论打上点赞,所以我们应该再设计一个点赞表。其实抖音这种评论模式叫嵌套式评论结构,嵌套式评论注重用户对话交流,用户可以很方便地查看一个对话里的所有回复,我们看下抖音评论里有着展开10条回复的按钮。

alt

其他评论模式设计还有平铺式评论结构,像微信朋友圈,或者Github的issue都是平铺式评论结构。这种设计更适合用户关注重点在发布的内容本身,而不是对话。大家有没发现微信朋友圈的特点是对话比较少点,点赞反而更多。

来看看点赞表设计。

CREATE TABLE `comment_likes` (
  `user_id` INT NOT NULL,                       -- 点赞用户ID
  `comment_id` INT NOT NULL,                    -- 被点赞的评论ID
  `liked_timeMESTAMP DEFAULT CURRENT_TIMESTAMP,  -- 点赞时间
);

1.2 评论数据存储

抖音每天产生视频几百万、上千万,每个视频的评论高的甚至有上万条评论,要怎么样的数据查询设计才能支持每天亿级的评论?

南哥先假设我们用MySQL作为

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

Java面试突击 文章被收录于专栏

👉以面试官面试的形式,涵盖了你怒怼大厂面试官、拿下大厂面试所需掌握的核心知识、面试重点! 👉相信一定对你顺利通关面试、拿到理想Offer有所帮助! 👉花费大量精力去制作本专栏,创作不易,各位的支持就是我创作的最大动力!

全部评论

相关推荐

10-27 01:19
已编辑
哈尔滨工程大学 Java
牛友们好,先说一下我的背景吧,本科四非大学,硕士大家看到了,成绩垫底,无竞赛无奖学金,实习仅有不对口的两个月研究所经历。秋招期间走的方向是Java,只有一个苍穹外卖的单体项目经历(当然了我改了名字还做了一些分布式和缓存等的包装),这次秋招0 offer,基本上秋招已经是凉了。目前离春招还有4个多月,还不想放弃,所以我差不多11月开始就要为春招做准备了。目前我大概考虑的方向有3个:第一个是在这4个月里吃透微服务,搞一个微服务的项目出来,春招继续卷Java;第二个是转前端,因为前端给我感觉比Java松弛很多,好几次我都被前端面试给捞了;第三个是转Android,因为据我实验室朋友说这次Android应聘的人也挺少的,他好几次被Android捞了,而且我本科毕设也有开发Android的经历。继续卷Java的话,四个月整微服务时间倒是来得及,但是毕竟Java今年实在是卷到没母亲,不确定多一个微服务项目能不能行,担心还是会是像秋招一样的反馈;转前端感觉时间有点不太够用,要想把前端从三件套到Vue到React全都吃透还是挺费时间的;转Android倒是时间够用也不卷,毕竟有本科毕设经历了捡起来也容易,但是Android在大家的说法里已经凉了好几年了,而且相当于完全换了赛道。不太敢冒险。想咨询下大家的意见,看看自己选择哪条路比较好。我也给自己几天思考时间,大概11月之前做好决定。 #参加完秋招的机械人,还参加春招吗?# #机械人春招想让哪家公司来捞你?#
铠甲合体:确实,感觉Java人真的太多了
点赞 评论 收藏
分享
2 4 评论
分享
牛客网
牛客企业服务