37 lines
624 B
Markdown
37 lines
624 B
Markdown
# thumb-up
|
|
|
|
🧐 高并发点赞系统
|
|
|
|
## 模块
|
|
|
|
### 用户模块
|
|
|
|
1. 登录
|
|
- 使用 Session 简单登录
|
|
2. 用户信息
|
|
- 不是本项目讨论的重点,不提供修改
|
|
|
|
### 点赞模块
|
|
|
|
1. 校验
|
|
- 参数合法性
|
|
- 登录态
|
|
- 是否已点赞
|
|
2. 锁
|
|
- 多次点赞统一博客场景
|
|
3. 事务
|
|
- 修改两张表,需要保证数据一致性
|
|
|
|
### 博客模块
|
|
|
|
1. 获取博客
|
|
2. 获取博客列表
|
|
|
|
## QA
|
|
|
|
1. 如何从数据库层面杜绝重复数据出现?
|
|
|
|
答:对于 `thumb` 表,使用联合唯一索引
|
|
```mysql
|
|
CREATE UNIQUE INDEX idx_userId_blogId ON thumb (userId, blogId);
|
|
``` |