外观
一句话答案
评论数据模型:id/parent_id/root_id 支持楼层+回复树形,MySQL 存储+Redis 缓存热评,游标分页避免深分页。
核心要点
数据模型: id / parent_id / root_id / content / user_id / create_time
存储: MySQL(持久化) + Redis(热评缓存/计数)
查询: 一级评论分页 + 子评论按 root_id 查询 + 游标分页
追问与易错
追问方向:
- 树形结构怎么优化?
- 敏感词怎么过滤?
- 热门评论怎么排序?
易错点:
- ❌ 评论直接递归查询——深层嵌套性能极差
- ❌ 评论系统简单——高并发+树形+敏感词+排序很有挑战
💡 记忆锚点
评论系统三个关键字段:parent_id(我回复谁)、root_id(我属于哪条一级评论的子树)、id(我自己)。查询策略:先分页查一级评论(parent_id=0),再按root_id批量查每条一级评论的子评论,避免递归。用游标分页(WHERE id > lastId LIMIT N)替代offset深分页。热评缓存Redis,敏感词用DFA或AC自动机过滤。