简介
购物车分为在线购物车离线购物车
当没有登陆,可以往离线购物车中添加商品,在第一次添加的时候分配一个cookie,每次添加的商品都保存在这个cookie中,如果这个cookie没有了,离线购物车中的商品也没有了,当用户登录,离线购物车与在线购物车合并,并且删除离线购物车的数据
京东是怎么做的?
- 购物车有一个cookie对应的key关联,即使没有登录也有,登录以后进行购物车合并,合并完成后删除购物车的数据
设计自己的购物车
- 离线购物车:把购物车都存储在redis中以提高性能cart:temp:uuid
- 在线购物车: cart:user:1;
购物车数据保存在redis中,使用分布式集合[redisson.getMap]
用户对于购物车的所有的操作,都需要传入cart-key,如果用户登录了,还需要传入token
购物车需要提交的所有的方法
- 添加到购物车
- 修改购物车
- 删除购物车
- 选中/不选中购物车
- 返回整个购物车
- 点击去结算,获取购物车中需要结算的数据
技术
1.分布式集合
2.JSON.parseObject(str,new TypeReference<Set<String>>() { })
3.RPC隐式传参,透传用户令牌给其他的服务,一般用于给其他的服务一些增量的数据(这些数据其他服务不一定会用到)
网友评论