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


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开发GUI
Oct 09 PHP
PHP制作图型计数器的例子
Oct 09 PHP
DW中链接mysql数据库时,建立字符集中文出现乱码的解决方法
Mar 27 PHP
利用PHP+JS实现搜索自动提示(实例)
Jun 09 PHP
Session的工作机制详解和安全性问题(PHP实例讲解)
Apr 10 PHP
PHP实现设计模式中的抽象工厂模式详解
Oct 11 PHP
腾讯微博提示missing parameter errorcode 102 错误的解决方法
Dec 22 PHP
PHP 生成N个不重复的随机数
Jan 21 PHP
php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
May 28 PHP
PHP读MYSQL中文乱码的快速解决方法
Oct 01 PHP
ThinkPHP打水印及设置水印位置的方法
Oct 14 PHP
php异常处理捕获错误整理
Sep 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
一个阿拉伯数字转中文数字的函数
2006/10/09 PHP
php开发工具之vs2005图解
2008/01/12 PHP
PHP 日期时间函数的高级应用技巧
2009/10/10 PHP
PHP函数学习之PHP函数点评
2012/07/05 PHP
解析php中mysql_connect与mysql_pconncet的区别详解
2013/05/15 PHP
PHP实现获取文件后缀名的几种常用方法
2015/08/08 PHP
laravel 解决Validator使用中出现的问题
2019/10/25 PHP
Mootools 1.2教程 排序类和方法简介
2009/09/15 Javascript
JavaScript Array扩展实现代码
2009/10/14 Javascript
PHP中CURL的几个经典应用实例
2015/01/23 Javascript
jquery控制背景音乐开关与自动播放提示音的方法
2015/02/06 Javascript
jQuery简单实现图片预加载
2015/04/20 Javascript
Node.js中JavaScript操作MySQL的常用方法整理
2016/03/01 Javascript
bootstrap下拉列表与输入框组结合的样式调整
2016/10/08 Javascript
js实现返回顶部效果
2017/03/10 Javascript
vue中axios的封装问题(简易版拦截,get,post)
2018/06/15 Javascript
vue请求数据的三种方式
2020/03/04 Javascript
python爬虫入门教程之糗百图片爬虫代码分享
2014/09/02 Python
Python中的元类编程入门指引
2015/04/15 Python
python获取当前时间对应unix时间戳的方法
2015/05/15 Python
使用python实现个性化词云的方法
2017/06/16 Python
Django查询数据库的性能优化示例代码
2017/09/24 Python
Python进阶之尾递归的用法实例
2018/01/31 Python
Python列表list常用内建函数实例小结
2019/10/22 Python
浅谈python之自动化运维(Paramiko)
2020/01/31 Python
Python使用PyQt5/PySide2编写一个极简的音乐播放器功能
2020/02/07 Python
Python开发企业微信机器人每天定时发消息实例
2020/03/17 Python
Python更换pip源方法过程解析
2020/05/19 Python
福克斯租车:Fox Rent A Car
2017/04/13 全球购物
Yves Rocher伊夫·黎雪美国官网:法国始创植物美肌1959
2019/01/09 全球购物
专科毕业生自我鉴定
2013/12/01 职场文书
函授自我鉴定范文
2014/02/06 职场文书
行政处罚听证告知书
2015/07/01 职场文书
2019年大学毕业生个人自我鉴定范文大全
2019/03/21 职场文书
SpringBoot读取Resource下文件的4种方法
2021/07/02 Java/Android
MySQL实现字段分割一行转多行的示例代码
2022/07/07 MySQL