购物车可以说是电商平台的一个标配了,起初是用于多种商品的结算,现在很多用户也把购物车当作临时收藏来使用,这里尝试做一个基本的购物车架构设计。
用例分析

加入购物车、查看购物车、修改数量或者规格、移除商品、清空购物车,是一个购物车最基本的功能。
关键流程
1.查看购物车

关键点: 1)商品状态判断:上下架、预售 2)限购 3)库存紧张判断
2.修改数量/规格

关键点: 1)在购物车中加减数量,不涉及库存扣减操作,仅判断当前库存是否购买数量
3.购物车容量

关键点: 1)购物车作为临时存储,容量一般会做一定的限制,根据实际业务而定
数据模型

存储方案
1.基于Redis
使用Redis的Hash数据结构
2.基于数据库
| user_id | sku_id | quantity | price |
|---|---|---|---|
| uid_10001 | sku_001 | 10 | 12 |
| uid_10001 | sku_002 | 2 | 100 |
| uid_10002 | sku_001 | 10 | 12 |
对外接口
| 接口 | 说明 |
|---|---|
| /cart/add | 加入购物车 |
| /cart/view | 查看购物车 |
| /cart/modify | 修改数量/规格 |
| /cart/remove | 移除商品 |
| /cart/clear | 清空购物车 |

浙公网安备 33010602011771号