购物车中的购买的产品信息属于临时记录,
应该用session或cookie保存客户端好还是数据库好?
在数据库中那么这个表肯定是个冗余数据表,用户如果下订单结束,那么这个表就没有存在的意义了,可删除也可不删除,前提不需要客户下次访问时自动展现上次购物车没有结账的产品。没有必要,比如微软的petshop的profile
 还是用session好???不需要冗余表。我目前采用数据库表。
session是否损耗服务器资源
cookie呢
望高人指点

解决方案 »

  1.   

    用ViewState也可以,不过只能在一个页面操作。如果你是用rich client的话,ViewState可以考虑。
      

  2.   

    cookie不稳定,并且受客户端太多限制。我觉得用数据库最好,session次之
      

  3.   

    用session吧。只需要存一下产品的ID而以。
    如果用cookie,怕客户端不支持。如果不需要下次登陆还继续显示的话,存数据库的表中也没什么意思。
    当然你可以采用消息列队的机制也行哈。
      

  4.   

    前提不需要客户下次访问时自动展现上次购物车没有结账的产品。没有必要如果不需要 下次 展现得话 用session 好 ,访问速度快,因为这些信息是要频繁访问得,在数据库里面 数据库访问是要 占 更多资源的 而且你还要定期 清理
      

  5.   

    放session吧.效率低一点.
    你毕竟是个网站 .不要什么东西都放cookie里面.容易被客户看见
      

  6.   

    用Session比较合理,其他方法都有不合理之处。
      

  7.   


    有道理。数据库是比较损耗资源每次回到购物车页面都要访问那个冗余表
    可是session中是不能只存储id的。在购物车页面那岂不还得访问产品表?
    那就session中存储id。。名称价格
    对不。
      

  8.   

    应该是数据库....或者cookies,用session不划算.....
      

  9.   

    用cookie的不好之处:cookie如果客户端都支持的情况下还好说,如果安全性高一点,那么cookie就挂了。
    接下来就是cookie的处理,如果用服务器端代码处理的话,那也就是一样的要回访服务器,这点和session一样,如果用js处理的话,那cookie可能在用户体验方面是要好一点,如果是服务器处理,那么用session的内存开支就是每个用户session里的内存,如果用户量在几百的话,基本上都忽略掉。session在处理和安全性和异常的跟踪方面比cookie更可靠。b/s程序,永远也不会相信客户端的一切动作,因为动作都是可模拟的。
    用数据库就不考虑了,首先是打通通道,基本是请求,返回结果,结果的呈现的处理。这个过程相对比较浪费资源。
      

  10.   

    session是损耗服务器资源的 但是你访问量不大的话 那这损耗是微乎其微的
    cookies 安全性较低
    个人认为 数据库是最佳方式
      

  11.   

    一般用Session,安全性高一些,
    像楼上几位说的cookies 因为是存在客户端,客户可以随意修改,所以安全性很差。
    ViewState的话跳转页面就丢了...
    不过如果访问量大的话就存数据库吧~
      

  12.   

    Cookie ..看看当当网..不要想太多..
    cookie中记购买产品的ID和个数.这些信息涉及到安全性吗??
    汗..别一说cookie就什么不安全,受客户端限制..用Session服务器成本大..
    用数据库..增加或删除产品在购物车中.要反复做数据库操作..
    Cookie完全可以搞定..而且搞的很好.
      

  13.   

    购物中的信息.本来就是可以随便增删的.cookie只会记产品ID和个数.看你怎么用cookie了..
      

  14.   

    session加数据。 
    Session‘容易丢失
      

  15.   

    不要老想着Session驻留在内存中耗费服务器资源,这本身就是你思维定式的问题,只看到了它的缺点,没看到它的优点。
    保留在Cookie中尚可考虑,保存在数据库中是最坏的做法,这才是真消耗数据库服务器的资源,频繁连接,还会造成大量的垃圾数据!
      

  16.   

    要分成二种情况吧,如果登录了,就用临时表,没有登录,不是用户,就用cookie,session不合适。
      

  17.   

    用session存  list<T>要建立一个 购物车的实体类 但是不需要数据表展示数据的时候呢
    就可以用 List<T> c=(List<T>)HttpContext.Current.Session[""];转换一下就OK至于 购物车的实体类 怎么设计 就看你自己的了
      

  18.   

    如果是一个小的网站的话,用session就可以了,如果是像一个打的商业网站,还是用cookie,应为session是很浪费服务器端的资源的,如果访问量太大,服务器端是承受不了的,现在一些大的商业购物网站还是用cookie的!