对“关于购物车的想法”的一些回复
作者:丁学 来源:丁学博客 发布时间:2009-03-10 18:15:00
刚看到吴磊同学的一些关于购物车的想法,正巧本人丁学对电子商务这方面比较熟悉,跳出来献丑了,希望对一些同行有些用处。本来想回复到下面的,结果发现写起来比较多,干脆写到这里好了,以后自己找起来也方便,呵呵
问题: 1.购物车中的数据是否应该存储在数据库中?
我特别想知道在真正的项目中,那些真正的软件工程师是如何考虑这个问题的。在Google上一搜,搜到了一篇咱园子里一位网友的观点:购物车应该是个临时存储数据的模块,他将其存放在Session对象中。这位网友说的很有道理,不过我并不喜欢这样的做法。如果大家都将其存储在Session对象中,成千上万个用户一同购物的话,想必ASP.NET服务器必将承受巨大的负载。也许像我们国内的网站可能会好一些,但想Amazon这样的网站,怎么做的呢?
Amazon中国网站,也就是Joyo的网站,并不是将其存储在Session对象中,因为我如果这次放入购物车中的商品没有提交订单,下次登录后购物车中还会有这些商品。因此,我想他们可能是将这些购物车中的数据放入了数据库中。
回复: 把购物车存放在Session中,这种做法似乎只存在于大学里的课程设计或者一些无人在意的实习项目中出现。事实上,基本所有的电子商务网站都把购物车数据存放到了数据库里。下面是一些解释和设计上需要注意的地方:
1、Session并不适合做大数据量的数据存放,当用户比较多的时候势必影响服务器性能,这是应该避免的。
2、Session存在意外丢失的问题,或者当用户不小心关闭浏览器,都会引起购物车内物品全部丢失,用户体验很不好
3、Cookies可以解决上面一条里Session的问题,但是Cookies的长度限制,以及使用Cookies时的通讯开销,还有安全性方面考虑,Cookies并不适合做购物车
4、比较好的用户体验是,无论用户登录与否,都可以在一定时间内记录购物车状态,这就要求数据库内购物车不能与用户捆绑太死
5、放到购物车里的商品,一般都是有购买意向的商品,但并不一定会成为真实的订单,这时候,保留这份数据,对数据挖掘、业务分析有至关重要的作用
猜你喜欢
- 两年前发表的《The visual design of Web 2.0》中提到“Rounded everything”,圆角因使人感觉舒适的
- 内码问题.用这段代码的吧,我已经改得很精简了.使用XMLHTTP抓取地址并进次内容处理Function GetBody(Url) Dim o
- 一般一个网站的首页访问量是最大的,如果您的网站的首页打开的非常缓慢,您的客户将会陆续离开你的网站.通常我们把需要经过复杂运算或者查询数据库得
- IE下专属CSS:<![if !IE]><link rel="stylesheet" type=&qu
- 我们平日办公时用得最多的软件是Execl、Word或WPS Office等,你的计算机中一定储存着大量的XLS、DOC、WPS文件吧!网页制
- 我们可用下面的代码将服务器端变量转换为客户端的JavaScrit变量:<%@ Language=VBScript
- 设置MySQL数据同步(单向&双向)由于公司的业务需求,需要网通和电信的数据同步,就做了个MySQL的双向同步,记下过程,以后用得到
- 八种获取当前日期的js代码,第一步:把如下代码加入<head>区域中:<SCRIPT language=java
- 问:如何给导入文件加上时间戳标记?答:请参考下文中介绍的两种方法:1.在DOS下从系统获得时间戳利用Dos命令取得时间戳:C:\>ec
- Yoho, 大家好,又是我哟~ 首先抱歉让大家等了这么多时间。最近实在比较繁忙啦。不过我还是会尽量抽空出来给大家讲点有的没的,欢迎大家继续
- 代码如下:CREATE DATABASE 临时的 ON ( NAME='临时的_Data', FILENAME='h
- 在asp编程中,我们常常使用trim(rtrim ,ltrim)函数去掉一些数据的开头和结尾的空格,笔者最近写了一个asp聊天室,看到下面的
- 网上有这样一道题目:一个字符串String=“adadfdfseffserfefsefseetsdg”,找出里面出现次数最多的字母和出现的次
- 判断服务器是否安装了某种asp组件,比较常用的代码如下:代码如下:<% '功能:检查是否存在系统组件或组件是否安装成功
- 这篇文章主要从基本情况、成本、优缺点和应用场合等方面对5种MySQL的可靠性方案进行了详细的分析和比较,另外,本文对MySQL数据库的开发和
- 刚才运行了一段代码,来查看Request.ServerVariables里面有多少值,看了一下,共50个!代码<%=Request.S
- 介绍 IIRF是一款开源的重写URL过滤器,类似于Apache的URL重写,基于VC8.0(可以用Visual Studio200
- 遵循Web标准的思想,网页要表现出一种亲和力。那么,针对残障用户来说,其“阅读”器可不能读取图像上传递的信息的。所以我们会采用一种Using
- 今天在写BLOG的Trackback时,需要用到当前页的URL地址,并且包括?后的所有参数。在网上看到以下的这段ASP代码,它的
- 一、为表创建自增长自段有两种,一种是不同的表使用各自的Sequence,方法如下: 1、在Oracle sequence首先创建sequen