购物车流程说明

      Cookie购物车的流程                                                                        Session、Mysql、Redis的流程

                                           

 

购物车信息一般包括购物车、购物项(商品、商品数量),购物车用于计算所有购物项的总金额等信息。购物车信息可以保存在Cookie、Session、Redis或者数据库中。

1、保存在Cookie中不要求登录,但必须客户端支持Cookie,浏览器的每次请求都会带上Cookie,服务端得到购物车信息之后需要将购物车信息保存到Cookie。添加购物车时,获取商品信息,保存到Cookie中;展示购物车列表时,浏览器就会带上所有的Cookie,服务端从Cookie中获取购物车信息,展示在页面。Cookie由于本身的安全限制,必须同域,所以cookie设置其Path为/dgz/cart,必须这个一下的路径才会获取到。cookie的方式,由于浏览器的cookie信息不共享,所以换个浏览器就会丢失购物车信息。

2、另外三种都需要登录,因为必须建立用户和服务器之间的唯一联系。

3、session的存储方式对服务器的压力较大,一般不用。

4、Redis有较快的存取速度,但是Cookie 、 Session 、Redis一般都是保存为字符串的方式,涉及购物车信息与字符串之间的转换,意义不是很明确。序列化和反序列化是瓶颈。

5、数据库存储非常明确的表达购物车、购物项、商品、用户之间的关系。但是频繁的+-delete商品就会有较大的压力。

6、购物车的一个关键处理是如何界定是否是同一个商品。因为涉及购物车的金额计算,所以必须精确到商品价格的最小粒度(能最终确定价格的粒度),比如用sku来管理商品,那么就精确到sku的值。

posted @ 2018-09-29 18:26  [流苏]  阅读(2058)  评论(0编辑  收藏  举报