zoukankan      html  css  js  c++  java
  • day79_淘淘商城项目_商城购物车系统实现三种方案总结

    1、商城购物车系统实现的三种方案

    1.1、session

      将购物车直接存放到与用户相关的session中。
    优点:
      代码实现超级简单。
    缺点:
      购物车存在session当中,如果session销毁,购物车就没有了。(session只存在于一次会话中。)
      用户未登录的时候不能添加购物车。
      购物车使用了session,而session是存在于内存资源中,消耗了大量的内存资源。非常不好。
      集群情况下,session很难共享,无法进行水平扩展。(tomcat的session广播对资源消耗严重,即tomcat的带宽不干别的了,就去广播了。)

    1.2、cookie

      将购物车直接存放到浏览器的cookie中。
    优点:
      在不登陆的情况下也可以添加购物车。
      不占用服务端存储空间。
      用户体验好。
      代码实现简单。
    缺点:
      cookie中保存的容量有限。最大4k。
      cookie占用的是浏览器的缓存,可能用户会定期删除cookie。
      把购物车信息保存在cookie中,更换设备购物车信息不能同步。

    1.3、cookie+入库 / 直接入库

      对于未登陆用户,将购物车放到cookie中,对于已登陆用户将购物车放入数据库中。
      将购物车持久化到数据库中。这里的数据库指的是关系型数据库或者非关系型数据库
    优点:
      关系型数据库:mysql数据库(数据完整性比较好)
      非关系型数据库:redis数据库(读写速度快)
    缺点:
      相对于session和cookie,没啥缺点。
      占用服务端资源。

    2、购物车实现总结

      自己写着玩的代码可以使用cookie+session。
      真实场景应该是要使用cookie+入库,或者直接入库。
      京东准许未登录状态添加购物车,应该采用的是cookie+入库。
      淘宝并不准许用户未登录添加购物车,应该采用的是直接入库。

  • 相关阅读:
    学Maven,这篇万余字的教程,真的够用了!
    15 个优秀开源的 Spring Boot 学习项目,一网打尽!
    Spring Boot2 系列教程(三十)Spring Boot 整合 Ehcache
    800java面试题
    Nginx开发从入门到精通
    曹工说mini-dubbo(1)--为了实践动态代理,我写了个简单的rpc框架
    redis好书推荐
    一步一步学solr--windows下solr5.4.0环境搭建
    Redis
    8 个最好的 jQuery 树形 Tree 插件
  • 原文地址:https://www.cnblogs.com/chenmingjun/p/10082491.html
Copyright © 2011-2022 走看看