常见面试题之:购物车实现过程
一、购物车和用户之间的关系
- 一个用户必须对应一个购物车【一个用户不管买多少商品,都会存在属于自己的购物车中】
- 单点登录一定要在购物车之前。
二、和购物车有关的操作都有哪些?
a)用户添加购物车
①用户未登录状态
1.添加到什么地方?未登录将数据保存到什么地方?
a)Redis?—比如京东
b)Cookie?—自己开发项目的时候【如果浏览器禁用cookie】
②用户登录状态
1.Redis缓存中【读写速度快】存放方式为HashSet
a)Hash:hset(key,field,value)
Key:user:userId:cart
Hset(key,skuId,value)
2.存在数据库中【Oracle,MySQL】
b)展示购物车数据
①未登录状态展示
1.直接从cookie中取得添加的数据展示即可
②登录状态
1.用户一旦登录:就必须显示数据库【Redis】+Cookie中的购物车的数据。
例如:
a)如果Cookie中有三条数据
b)如果Redis中有五条数据
c)那么真正展示的时候应该是Redis中的数据加上Cookie中的数据共八条数据。