购物车功能
- 加入购物车
- 发起结算
- 显示购物车
主要属性:SKUID(商品 ID)、数量、加购时间和勾选状态。
存储设计原则
- 如果未登录,需要临时暂存购物车的商品;
- 用户登录时,把暂存购物车的商品合并到用户购物车中,并且清除暂存购物车;
- 用户登陆后,购物车中的商品,需要在浏览器、手机 APP 和微信等等这些终端中都保持同步。
实际上,购物车系统需要保存两类购物车,一类是未登录情况下的“暂存购物车”,一类是登录后的“用户购物车”。在登陆后,把暂存购物车合并到用户购物车中。
暂存购物车
数据存储在客户端,可以选:
- Session:保留时间短,不适合
- Cookie:实现简单、服务端可以读取,容量小
- LocalStorage:容量大,实现复杂
用户购物车
需要确保多端一致,存储在服务端,存储结构:
可以使用mysql、redis存储
此文章为3月Day3学习笔记,内容来源于极客时间《后端存储实战课》