项目关于评论需求

redis
根据某些字段建索引
建立表
drop table user_info
create table user_info(
`id` bigint(20) NOT NULL AUTO_INCREMENT comment 'id',
`user_id` varchar(45) NOT NULL,
`nick_name` varchar(45) DEFAULT NULL comment '昵称',
`head_portrait` varchar(250) DEFAULT NULL comment '头像',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`last_modified_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
)ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4;
 
 
drop table comment_info
create table `comment_info`(
`id` bigint(20) NOT NULL AUTO_INCREMENT comment 'id',
`user_id` varchar(45) NOT NULL,
`like_count` bigint(20) NOT NULL DEFAULT '0' comment '点赞数',
`type` varchar(50) NOT NULL comment '视频的类型',
`source` varchar(45) NOT NULL comment '视频源',
`tp_video_id` varchar(50) DEFAULT NULL,
`video_id` bigint(20) NOT NULL,
`comment` MEDIUMTEXT NOT NULL comment '评论内容',
`reply_count` bigint(20) NOT NULL DEFAULT '0' comment '相关评论数,是根路径的评论',
`pid` bigint(20) comment '父亲评论的ID,对应id字段',
`rid` bigint(20) comment '根ID,这个用来获得相关评论',
`state` tinyint(4) NOT NULL DEFAULT '1' comment '0已评论,1审核通过,2审核失败',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP comment '',
`last_modified_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`)
)ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4;
 
1. 缓存某个视频的所有顶级评论ID列表(最多缓存500个,设置7天有效期)
2. 缓存每一个评论的内容(设置7天有效期)
这个内容,顶级评论还包含(最近的两个评论ID)
3. 缓存每一个顶级评论的评论的ID列表(最多缓存500个,设置7天有效期)
4. 缓存所有用户的头像和昵称信息(设置7天有效期)
 
 
 
1. 用户增加了顶级评论
失效,1
 
2. 点赞了顶级评论
失效,2
 
3. 增加了次级评论
失效2,3
 
4. 点赞了次级评论
失效,2
 
5. 每一次评论,需要核对,头像和昵称,如果有变化需要更新数据库,并失效缓存,4
 
注意:
1. 如果信息,缓存里面也要记录空数组,或者空信息
 
2. 如果合作方视频,没有下载下来,不可以评论

转载于:https://www.cnblogs.com/tecnologycc/p/9914363.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值