优缺点分析-------------Round1

1.0 Session(Memcache)方式

      缺点:服务器资源是有限的,在用户量很大的时候会占据服务器大量内存资源,服务器压力增大,且在用户退出登陆后服务器清空购物车数据,用户下次登陆还是需要重新选择商品.

      优点: 购物车信息保存在服务器端,至于Session能存储多大的用户信息?  查询之后都讲越少越好,只存储关键信息,避免增大服务器压力丢失session.可以理解,这个大小不好定义,毕竟和服务器的性能大小有关系.

2.0 Cookie方式

      优点:购物车信息存储于客户端,生命周期(同cookie).

      缺点:有大小限制不够安全(在公共办公环境下,cookie中购物车信息可能会失效被其他人购物车信息覆盖),购物车模型考虑到可能对用户购买行为分析,需要给用户推荐其感兴趣的商品,需要cookie里购买商品的信息,拿不到数据不能对用户购买行为分析统计.

3.0 数据库存储

      优点:持久化存储,可分析用户购买行为.

      缺点:网站速度变慢, 成本和维护费用增加.

      针对购物车数据库存储压力大解决方案:

      1.0 删除超过N天的数据.

      2.0 分库解决数据库写压力(根据User_id分为奇数库偶数库,使用User_id和创建时间字段做联合主键)

      3.0 删除大量数据库更新操作(避免锁表),Content保存购物车信息的XML避免大量的更新操作,只做插入操作查询返回最后一条数据即可.

总结:

       1.0 不建议用session,占用服务器资源,有过期时间、关闭浏览器即消失,下次登陆还得重新选产品.

       2.0 cookie放在客户端,给个久点的过期时间,客户不清空数据就在每次登陆都能看到之前的购物车信息.

       3.0 数据库持久化存在,没有客户端限制、且没有容量限制。