购物车实现的几种方式优缺点对比


Posted in PHP onMay 02, 2018

购物车的话目前来说有三种,分别是存储在cookie中或是session中,或是结合 数据库存储

第一种是存储在cookie中

优点:

     1.cookie是存储在客户端的,且占用很少的资源,一般cookie中可以存储300个cookie,每个cookie为4KB,既可以满足购物车的需求,还可以减轻服务器的压力.

   2.cookie是浏览器内置,只要在cookie定义的有效期内,数据都不会丢失.

   3.二区cookie不是可执行文件,所以不会给用户带来病毒或攻击用户系统

缺点:

  1.基于cookie开发的购物车要求用户浏览器必须支持并设置为启用cookie,否则购物车则失效.
  2.存在着关于cookie侵犯访问者隐私的争论,因此有些用户会禁止本机cookie的功能.
   

     3.如果换一台机器在去登录的话,就会丢失购物车信息;

第二种是session

优点:

  1.session可以与客户端保持同步,不依赖与客户端的设置.
  2.与cookie相比,session是存储在服务器端的信息,因此比较安全;

缺点:.

  1.session会占用服务器资源,加大服务器的负载,尤其当并发用户很多时,会生成大量的session,影响服务器的性能.
  2.由于session存储的信息更加敏感,而且是以文件形式保存在服务器中,所以也存在着安全隐患;

 第三种是结合数据库的方式

   这种模式是目前比较普遍的.
 

 它有一下特点

优点:

                    1.数据库与cookie分别负责记录数据和维持回话,能发挥各自的优势,使安全性和服务器性能都得到了提高;
                    2.不论换到哪一个机器上,购物车信息都不丢失;

缺点:

  1.每个购物的行为 ,都要与数据库进行连接,直至对表的操作完成后,连接才释放.当并发用户很多时,会影响数据库的性能 ,这时对数据库的性能提出了更高的要求;
         2.使用cookie维持回话,需要客户端的支持.

PHP 相关文章推荐
国内php原创论坛
Oct 09 PHP
php分页示例代码
Mar 19 PHP
php学习 函数 课件
Jun 15 PHP
PHP压缩html网页代码(清除空格,换行符,制表符,注释标记)
Apr 02 PHP
PHP操作Memcache实例介绍
Jun 14 PHP
浅析ThinkPHP中的pathinfo模式和URL重写
Jan 06 PHP
php实例分享之html转为rtf格式
Jun 02 PHP
php中ob_flush函数和flush函数用法分析
Mar 18 PHP
php生成网页桌面快捷方式
May 05 PHP
php脚本守护进程原理与实现方法详解
Jul 20 PHP
PHP实现链式操作的三种方法详解
Nov 16 PHP
Laravel开启跨域请求的方法
Oct 13 PHP
PHP生成(支持多模板)二维码海报代码
Apr 30 #PHP
PHP实现的猴王算法(猴子选大王)示例
Apr 30 #PHP
PHP+MySQL高并发加锁事务处理问题解决方法
Apr 30 #PHP
PHP使用file_get_contents发送http请求功能简单示例
Apr 29 #PHP
PHP实现通过strace定位故障原因的方法
Apr 29 #PHP
PHP性能测试工具xhprof安装与使用方法详解
Apr 29 #PHP
PHP使用curl_multi实现并发请求的方法示例
Apr 29 #PHP
You might like
PHP 创建文件(文件夹)以及目录操作代码
2010/03/04 PHP
php数组函数序列之prev() - 移动数组内部指针到上一个元素的位置,并返回该元素值
2011/10/31 PHP
PHP策略模式定义与用法示例
2017/07/27 PHP
PHP中PDO事务处理操作示例
2018/05/02 PHP
Mootools 1.2教程 设置和获取样式表属性
2009/09/15 Javascript
Jquery easyui 下loaing效果示例代码
2013/08/12 Javascript
js防止页面被iframe调用的方法
2014/10/30 Javascript
node.js下when.js 的异步编程实践
2014/12/03 Javascript
javascript实现汉字转拼音代码分享
2015/04/20 Javascript
js游戏人物上下左右跑步效果代码分享
2015/08/28 Javascript
微信开发 微信授权详解
2016/10/21 Javascript
如何使用Bootstrap创建表单
2017/03/29 Javascript
Vue-resource拦截器判断token失效跳转的实例
2017/10/27 Javascript
Angular2.0实现modal对话框的方法示例
2018/02/18 Javascript
vue基础之data存储数据及v-for循环用法示例
2019/03/08 Javascript
30分钟用Node.js构建一个API服务器的步骤详解
2019/05/24 Javascript
了解JavaScript表单操作和表单域
2019/05/27 Javascript
Layui给switch添加响应事件的例子
2019/09/03 Javascript
多线程爬虫批量下载pcgame图片url 保存为xml的实现代码
2013/01/17 Python
python中assert用法实例分析
2015/04/30 Python
Python安装selenium包详细过程
2019/07/23 Python
Python 实现毫秒级淘宝抢购脚本的示例代码
2019/09/16 Python
Django xadmin开启搜索功能的实现
2019/11/15 Python
python针对Oracle常见查询操作实例分析
2020/04/30 Python
如何利用python web框架做文件流下载的实现示例
2020/06/02 Python
PyQt5的相对布局管理的实现
2020/08/07 Python
Jupyter Notebook添加代码自动补全功能的实现
2021/01/07 Python
Canvas多边形绘制的实现方法
2019/08/05 HTML / CSS
信息专业大学生自我评价分享
2014/01/17 职场文书
2014年教师政治学习材料
2014/06/02 职场文书
平安工地汇报材料
2014/08/19 职场文书
开展批评与自我批评发言材料
2014/10/17 职场文书
八年级英语教学计划
2015/01/23 职场文书
2015年教师节演讲稿范文
2015/03/19 职场文书
JavaScript 实现页面滚动动画
2021/04/24 Javascript
详解Go语言Slice作为函数参数的使用
2021/07/02 Golang