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


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 相关文章推荐
人大复印资料处理程序_查询篇
Oct 09 PHP
php array_filter除去数组中的空字符元素
Jun 21 PHP
php遍历数组的方法分享
Mar 22 PHP
PHP5中Cookie与 Session使用详解
Apr 30 PHP
PHP中绘制图像的一些函数总结
Nov 19 PHP
ThinkPHP控制器里javascript代码不能执行的解决方法
Nov 22 PHP
PHP实现PDO的mysql数据库操作类
Dec 12 PHP
php+ajax实现文章自动保存的方法
Dec 30 PHP
php+mysql+jquery实现日历签到功能
Feb 27 PHP
PHP实现的DES加密解密类定义与用法示例
Nov 02 PHP
PHP下用Swoole实现Actor并发模型的方法
Jun 12 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
Mar 23 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防止sql注入代码实例
2013/12/18 PHP
destoon实现调用图文新闻的方法
2014/08/21 PHP
smarty模板引擎之内建函数用法
2015/03/30 PHP
360搜索引擎自动收录php改写方案
2018/04/28 PHP
关于event.cancelBubble和event.stopPropagation()的区别介绍
2011/12/11 Javascript
裁剪字符串trim()自定义改进版
2013/04/10 Javascript
js中通过split函数分割字符串成数组小例子
2013/09/21 Javascript
JavaScript动态创建link标签到head里的方法
2014/12/22 Javascript
JS实现的在线调色板实例(附demo源码下载)
2016/03/01 Javascript
解析Vue2.0双向绑定实现原理
2017/02/23 Javascript
Node学习记录之cluster模块
2017/05/31 Javascript
jQuery实现的手动拖动控制进度条效果示例【测试可用】
2018/04/18 jQuery
vueJs实现DOM加载完之后自动下拉到底部的实例代码
2018/08/31 Javascript
JavaScript实现矩形块大小任意缩放
2020/08/25 Javascript
electron踩坑之dialog中的callback解决
2020/10/06 Javascript
[46:49]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.19
2020/12/24 DOTA
Python检测网络延迟的代码
2018/05/15 Python
基于腾讯云服务器部署微信小程序后台服务(Python+Django)
2019/05/08 Python
由面试题加深对Django的认识理解
2019/07/19 Python
Django 在iframe里跳转顶层url的例子
2019/08/21 Python
详解一种用django_cache实现分布式锁的方式
2019/09/01 Python
Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
2020/02/05 Python
spyder 在控制台(console)执行python文件,debug python程序方式
2020/04/20 Python
python三引号如何输入
2020/07/06 Python
HTML5 body设置全屏背景图片的示例代码
2020/12/08 HTML / CSS
酒吧总经理岗位职责
2013/12/10 职场文书
餐厅楼面主管岗位职责范本
2014/02/16 职场文书
《童年》教学反思
2014/02/18 职场文书
学习雷锋倡议书
2014/04/15 职场文书
作风整顿剖析材料
2014/09/30 职场文书
喝酒驾驶检讨书
2014/10/01 职场文书
四风查摆剖析材料
2014/10/10 职场文书
2014年话务员工作总结
2014/11/19 职场文书
初中作文评语
2014/12/25 职场文书
2016年最美孝心少年事迹材料
2016/02/26 职场文书
Windows server 2022创建创建林、域树、子域的步骤
2022/06/25 Servers