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


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 相关文章推荐
Mysql的常用命令
Oct 09 PHP
BBS(php & mysql)完整版(八)
Oct 09 PHP
常用的php对象类型判断
Aug 27 PHP
php 多线程上下文中安全写文件实现代码
Dec 28 PHP
php 伪静态之IIS篇
Jun 02 PHP
PHP把数字转成人民币大写的函数分享
Jun 30 PHP
thinkphp模板的包含与渲染实例分析
Nov 26 PHP
php实现上传图片保存到数据库的方法
Feb 11 PHP
PHP中遇到的时区问题解决方法
Jul 23 PHP
PHP 9 大缓存技术总结
Sep 17 PHP
深入浅析PHP7.0新特征(五大新特征)
Oct 29 PHP
php微信公众号开发之欢迎老朋友
Oct 20 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函数的常用方法及注意之处小结
2011/07/10 PHP
浅析ThinkPHP中的pathinfo模式和URL重写
2014/01/06 PHP
php检查日期函数checkdate用法实例
2015/03/19 PHP
PHP远程调试之XDEBUG
2015/12/29 PHP
常用PHP数组排序函数归纳
2016/08/08 PHP
JS 继承实例分析
2008/11/04 Javascript
SOSO地图API使用(一)在地图上画圆实现思路与代码
2013/01/15 Javascript
jQuery点击tr实现checkbox选中的方法
2013/03/19 Javascript
JQuery中关于jquery.js与jquery.min.js的比较探讨
2013/05/15 Javascript
jquery二级导航内容均分的原理及实现
2013/08/13 Javascript
JS如何将数字类型转化为没3个一个逗号的金钱格式
2014/01/27 Javascript
node.js中的fs.chown方法使用说明
2014/12/16 Javascript
JavaScript中length属性的使用方法
2015/06/05 Javascript
javascript实现全角半角检测的方法
2015/07/23 Javascript
AngularJS中实现用户访问的身份认证和表单验证功能
2016/04/21 Javascript
浅谈JavaScript面向对象--继承
2019/03/20 Javascript
原生js代码能实现call和bind吗
2019/07/31 Javascript
React Native登录之指纹登录篇的示例代码
2020/11/03 Javascript
Element el-button 按钮组件的使用详解
2021/02/01 Javascript
[02:49]2018DOTA2亚洲邀请赛主赛事决赛日战况回顾 Mineski鏖战5局夺得辉耀
2018/04/10 DOTA
对Python进行数据分析_关于Package的安装问题
2017/05/22 Python
Python简单实现自动删除目录下空文件夹的方法
2017/08/29 Python
python通过伪装头部数据抵抗反爬虫的实例
2018/05/07 Python
Python计算一个给定时间点前一个月和后一个月第一天的方法
2018/05/29 Python
python中单下划线(_)和双下划线(__)的特殊用法
2019/08/29 Python
周鸿祎:教你写创业计划书
2013/12/30 职场文书
运动会闭幕式解说词
2014/02/21 职场文书
公司业务员岗位职责
2014/03/18 职场文书
旺仔牛奶广告词
2014/03/20 职场文书
幼儿园中班开学寄语
2014/04/03 职场文书
代收款委托书范本
2014/10/01 职场文书
公司酒会主持词
2015/07/02 职场文书
婚礼领导致辞大全
2015/07/28 职场文书
父亲节感言
2015/08/03 职场文书
预备党员入党思想汇报(范文)
2019/08/14 职场文书
golang 接口嵌套实现复用的操作
2021/04/29 Golang