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


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 相关文章推荐
3.从实例开始
Oct 09 PHP
php 定界符格式引起的错误
May 24 PHP
file_get_contents获取不到网页内容的解决方法
Mar 07 PHP
手把手教你打印出PDF(关于fpdf的简单应用)
Jun 25 PHP
ThinkPHP快速入门实例教程之数据分页
Jul 01 PHP
采用memcache在web集群中实现session的同步会话
Jul 05 PHP
ThinkPHP实现将SESSION存入MYSQL的方法
Jul 22 PHP
php实现上传图片保存到数据库的方法
Feb 11 PHP
使用PHP编写发红包程序
Jul 22 PHP
PHP实现的策略模式示例
Mar 20 PHP
Yii2 queue的队列使用详解
Jul 19 PHP
PHP设计模式之外观模式(Facade)入门与应用详解
Dec 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加MYSQL服务器
2006/10/09 PHP
实现“上一页”和“下一页按钮
2006/10/09 PHP
通过PHP修改Linux或Unix口令的方法分享
2012/01/30 PHP
探讨PHP调用时间格式的参数详解
2013/06/06 PHP
PHP 读取和编写 XML
2014/11/19 PHP
PHP程序员常见的40个陋习,你中了几个?
2014/11/20 PHP
php多次include后导致全局变量global失效的解决方法
2015/02/28 PHP
php开发时容易忘记的一些技术细节
2016/02/03 PHP
PHP结合Ueditor并修改图片上传路径
2016/10/16 PHP
PHP里的$_GET数组介绍
2019/03/22 PHP
mysql输出数据赋给js变量报unterminated string literal错误原因
2010/05/22 Javascript
jQuery select表单提交省市区城市三级联动核心代码
2014/06/09 Javascript
jQuery实现的Div窗口震动特效
2014/06/09 Javascript
javascript消除window.close()的提示窗口
2015/05/20 Javascript
JavaScript数组的栈方法与队列方法详解
2016/05/26 Javascript
基于Bootstrap的Java开发问题汇总(Spring MVC)
2017/01/15 Javascript
在Vue.js中使用Mixins的方法
2017/09/12 Javascript
vue slot 在子组件中显示父组件传递的模板
2018/03/02 Javascript
通过vue-router懒加载解决首次加载时资源过多导致的速度缓慢问题
2018/04/08 Javascript
JS简单实现查看文档创建日期、修改日期和文档大小的方法示例
2018/04/08 Javascript
详解vue项目中实现图片裁剪功能
2019/06/07 Javascript
vue 设置 input 为不可以编辑的实现方法
2019/09/19 Javascript
vue进入页面时不在顶部,检测滚动返回顶部按钮问题及解决方法
2019/10/30 Javascript
JavaScript实现网页动态生成表格
2020/11/25 Javascript
[57:22]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第五场
2018/04/10 DOTA
python线程锁(thread)学习示例
2013/12/04 Python
Python BeautifulSoup中文乱码问题的2种解决方法
2014/04/22 Python
python实现的解析crontab配置文件代码
2014/06/30 Python
python存储16bit和32bit图像的实例
2018/12/05 Python
python的reverse函数翻转结果为None的问题
2020/05/11 Python
html5的canvas实现3d雪花飘舞效果
2013/12/27 HTML / CSS
AC Lens:购买隐形眼镜
2017/02/26 全球购物
工伤事故赔偿协议书
2014/04/15 职场文书
《纸船和风筝》教学反思
2016/02/18 职场文书
干货分享:推荐信写作技巧!
2019/06/21 职场文书
Springboot-cli 开发脚手架,权限认证,附demo演示
2022/04/28 Java/Android