浏览 35423 次
锁定老帖子 主题:类淘宝购物车的实现
精华帖 (0) :: 良好帖 (0) :: 新手帖 (2) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-02-02
分析了淘宝的一些cookie值,得出淘宝购物车的cookie名称用的是 t ,值应该是类似于sessionId的32位字符串。建立一张购物车信息表如下图 图1-1
为简化,商品信息由good_id表示,商品数量由number表示,t 表示放到用户浏览器端的cookie值,要求unique。 user_id为此购物车商品关联的用户信息。
“显示购物车”流程如下图所示
“加入商品到购物车”的流程如下图:
“用户登录”时要做的事情流程如下:
问题: 1 缺点,如果用户登出,那么再查看购物车时,相应的物品都没与了。 可能有些用户会觉得奇怪,刚加到购物车的东西怎么没了? 2. 在登录时候执行修改购物车操作是否恰当? 但是如果不这样做的话,为了保证逻辑合理,在“显示购物车”,和“加入商品到购物车”的两个步骤中都要执行用户登录”的操作。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-02-05
楼主这个帖子是什么意思啊,仅仅是需求分析,这好像只要是购物车都有此类设计,不仅仅是淘宝吧。
|
|
返回顶楼 | |
发表时间:2010-02-05
支付宝的购物车是EJB的有状态会话BEAN吧?安全,事务,性能,等。都不能少啊。
|
|
返回顶楼 | |
发表时间:2010-02-05
首先购物车信息不是重要信息,没必要放入数据库中保持,放数据库整体开销不较大
你看到的32位id,我到认为是一个键值数据库中的主键 简单来说memcache加上弄就行了 |
|
返回顶楼 | |
发表时间:2010-02-13
viei 写道 首先购物车信息不是重要信息,没必要放入数据库中保持,放数据库整体开销不较大 你看到的32位id,我到认为是一个键值数据库中的主键 简单来说memcache加上弄就行了 恩。我不是很清楚您的意思? 不放到数据库的怎么让购物车信息随着用户走呢?(换一台电脑购物车信息还在) |
|
返回顶楼 | |
发表时间:2010-02-18
来一个折中的方案:当用户一直未做提交或者退出的操作,则购物车的内容都是未写入数据库的。
一旦有登出操作时候,即服务器收到与客户端断开连接后,则写入数据库中, 下一个该用户上线,则把该购物车的数据从数据库中读取出来,同时删掉数据库中的数据。 以减少连接数据库的开销 |
|
返回顶楼 | |