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


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 简易输出CSV表格文件的方法详解
Jun 20 PHP
解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
Jul 03 PHP
浅析PHP的ASCII码转换类
Jul 05 PHP
ThinkPHP3.1基础知识快速入门
Jun 19 PHP
php使用unset()删除数组中某个单元(键)的方法
Feb 17 PHP
PHP实现一个简单url路由功能实例
Nov 05 PHP
Nginx下ThinkPHP5的配置方法详解
Aug 01 PHP
PHP简单实现模拟登陆功能示例
Sep 15 PHP
学习thinkphp5.0验证类使用方法
Nov 16 PHP
PHP观察者模式示例【Laravel框架中有用到】
Jun 15 PHP
Laravel 已登陆用户再次查看登陆页面的自动跳转设置方法
Sep 30 PHP
详解no input file specified 三种解决方法
Nov 29 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获取网站域名和地址的代码
2008/08/17 PHP
php PDO属性设置与操作方法分析
2018/12/27 PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
2019/05/09 PHP
写出更好的JavaScript程序之undefined篇(中)
2009/11/23 Javascript
JavaScript中的几个关键概念的理解-原型链的构建
2011/05/12 Javascript
dotopAlert 提示用户需安装播放器的代码
2012/09/17 Javascript
jQuery实现的导航条切换可显示隐藏
2014/10/22 Javascript
如何动态加载外部Javascript文件
2015/12/02 Javascript
jQuery同步提交示例代码
2015/12/12 Javascript
JavaScript的React框架中的JSX语法学习入门教程
2016/03/05 Javascript
AngularJS  ng-table插件设置排序
2016/09/21 Javascript
基于JavaScript实现多级菜单效果
2017/07/25 Javascript
JS中DOM元素的attribute与property属性示例详解
2018/09/04 Javascript
JS重学系列之聊聊new操作符
2019/03/04 Javascript
wx-charts 微信小程序图表插件的具体使用
2019/08/18 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
2019/09/03 Javascript
js实现橱窗展示效果
2020/01/11 Javascript
koa-passport实现本地验证的方法示例
2020/02/20 Javascript
jquery实现直播视频弹幕效果
2020/02/25 jQuery
python统计日志ip访问数的方法
2015/07/06 Python
numpy向空的二维数组中添加元素的方法
2018/11/01 Python
python中实现控制小数点位数的方法
2019/01/24 Python
使用Python做定时任务及时了解互联网动态
2019/05/15 Python
Django认证系统实现的web页面实现代码
2019/08/12 Python
Python实现的北京积分落户数据分析示例
2020/03/27 Python
python属于解释语言吗
2020/06/11 Python
详解BeautifulSoup获取特定标签下内容的方法
2020/12/07 Python
python实现图片转字符画
2021/02/19 Python
美国传奇滑手Paul Rodriguez创办的街头滑板品牌:Primitive Skateboarding
2019/10/29 全球购物
应届生会计求职信
2013/11/11 职场文书
建筑设计师岗位职责
2013/11/18 职场文书
超市创业计划书
2014/04/24 职场文书
员工手册董事长致辞
2015/07/29 职场文书
大学生活委员竞选稿
2015/11/21 职场文书
jquery插件实现代码雨特效
2021/04/24 jQuery
什么是clearfix (一文搞清楚css清除浮动clearfix)
2023/05/21 HTML / CSS