论坛首页 Java企业应用论坛

类淘宝购物车的实现

浏览 35423 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (2) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-02-02  


     要做一个类似于淘宝的购物车功能。购物车一般会通过类似于cookie的功能实现。淘宝的购物车功能的特点是购物车信息能够跟随登录用户走。也就是已经登录的用户换了电脑,他的购物车信息仍然能够显示。这样的话,自然想到把用户信息和购物车信息存到数据库中。

 

分析了淘宝的一些cookie值,得出淘宝购物车的cookie名称用的是 t ,值应该是类似于sessionId的32位字符串。建立一张购物车信息表如下图

                    图1-1

 

为简化,商品信息由good_id表示,商品数量由number表示,t 表示放到用户浏览器端的cookie值,要求unique。

user_id为此购物车商品关联的用户信息。

 

“显示购物车”流程如下图所示

 

 

 

 

“加入商品到购物车”的流程如下图:


 

“用户登录”时要做的事情流程如下:



 
 

问题:

1 缺点,如果用户登出,那么再查看购物车时,相应的物品都没与了。 可能有些用户会觉得奇怪,刚加到购物车的东西怎么没了?

2. 在登录时候执行修改购物车操作是否恰当? 但是如果不这样做的话,为了保证逻辑合理,在“显示购物车”,和“加入商品到购物车”的两个步骤中都要执行用户登录”的操作。

  • 大小: 8 KB
  • 大小: 25 KB
  • 大小: 25 KB
  • 大小: 45.7 KB
  • 大小: 32.3 KB
   发表时间:2010-02-05  
楼主这个帖子是什么意思啊,仅仅是需求分析,这好像只要是购物车都有此类设计,不仅仅是淘宝吧。

0 请登录后投票
   发表时间:2010-02-05  
支付宝的购物车是EJB的有状态会话BEAN吧?安全,事务,性能,等。都不能少啊。
0 请登录后投票
   发表时间:2010-02-05  
首先购物车信息不是重要信息,没必要放入数据库中保持,放数据库整体开销不较大

你看到的32位id,我到认为是一个键值数据库中的主键

简单来说memcache加上弄就行了
0 请登录后投票
   发表时间:2010-02-13  
viei 写道
首先购物车信息不是重要信息,没必要放入数据库中保持,放数据库整体开销不较大

你看到的32位id,我到认为是一个键值数据库中的主键

简单来说memcache加上弄就行了


恩。我不是很清楚您的意思? 不放到数据库的怎么让购物车信息随着用户走呢?(换一台电脑购物车信息还在)
0 请登录后投票
   发表时间:2010-02-18  
来一个折中的方案:当用户一直未做提交或者退出的操作,则购物车的内容都是未写入数据库的。
一旦有登出操作时候,即服务器收到与客户端断开连接后,则写入数据库中,
下一个该用户上线,则把该购物车的数据从数据库中读取出来,同时删掉数据库中的数据。
以减少连接数据库的开销
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics