PHP 文件缓存的性能测试


Posted in PHP onApril 25, 2010

PHP常用缓存方式
第一种,把需要缓存的数据进行处理,形成PHP可以直接执行的文件。在需要缓存数据的时候,通过include方式引入,并使用。
第二种,把需要的数据通过serialize函数序列化后直接保存到文件。在需要使用缓存数据的时候,通过反序列化读入文件内容并复制给需要的变量,然后使用。

测试结果
通过测试我们发现,第二种也就是serialize缓存数据的方式更加高效。(数据略去,最后提供了文章地址下载,大家可以自行测试)

原因分析
include方式读取缓存的时候,PHP需要执行几个过程
1.读取文件
2.解析所Include的文件
3.执行,给变量赋值

而serialize序列化方式读取缓存的时候:
1.读取数据
2.反序列化数据内容
3.给变量赋值

总结分析
第一种,include缓存的方式
优点:增加数据的保密性,和安全性,缓存内容不会被外界发现。
缺点:速度相对较慢。
用途:保存禁止系统外部得知的数据,比如web系统的设置,甚至MySQL信息等的保存

第二种,serialize序列化缓存的方式
优点:速度较快。
缺点:缓存系统文件路径一旦曝光,缓存内容会泄露。
用途:缓存最新文章,相关文章等不担心外部得知的数据的时候,可以使用这种方式。

PHP 相关文章推荐
一个简单的自动发送邮件系统(三)
Oct 09 PHP
PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么
Jul 04 PHP
PHP写杨辉三角实例代码
Jul 17 PHP
linux下使用crontab实现定时PHP计划任务失败的原因分析
Jul 05 PHP
PHP获取表单所有复选框的值的方法
Aug 28 PHP
PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法
Jan 07 PHP
PHP使用strstr()函数获取指定字符串后所有字符的方法
Jan 07 PHP
PHP入门教程之面向对象基本概念实例分析
Sep 11 PHP
利用laravel+ajax实现文件上传功能方法示例
Aug 13 PHP
PHP设计模式之抽象工厂模式实例分析
Mar 25 PHP
PHP中的self关键字详解
Jun 23 PHP
PHP7 字符串处理机制修改
Mar 09 PHP
PHP 中文处理技巧
Apr 25 #PHP
PHP 网络开发详解之远程文件包含漏洞
Apr 25 #PHP
php快速url重写更新版[需php 5.30以上]
Apr 25 #PHP
PHP CURL模拟GET及POST函数代码
Apr 25 #PHP
php file_get_contents函数轻松采集html数据
Apr 22 #PHP
国外比较好的几个的Php开源建站平台小结
Apr 22 #PHP
PHP最常用的ini函数分析 针对PHP.ini配置文件
Apr 22 #PHP
You might like
Mysql的常用命令
2006/10/09 PHP
PHP文件上传主要代码讲解
2013/09/30 PHP
CodeIgniter实现更改view文件夹路径的方法
2014/07/04 PHP
php中注册器模式类用法实例分析
2015/11/03 PHP
PHP常用技巧汇总
2016/03/04 PHP
PHP+MYSQL实现读写分离简单实战
2017/03/13 PHP
php7 安装yar 生成docker镜像
2017/05/09 PHP
thinkphp5框架前后端分离项目实现分页功能的方法分析
2019/10/08 PHP
在laravel中实现将查询的对象转换为多维数组的函数
2019/10/21 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
JavaScript入门教程(3) js面向对象
2009/01/31 Javascript
页面按钮禁用与解除禁用的方法
2014/02/19 Javascript
Jquery对数组的操作技巧整理
2014/03/25 Javascript
JavaScript实现获取dom中class的方法
2015/02/09 Javascript
深入浅出分析javaScript中this用法
2015/05/09 Javascript
jqGrid表格应用之新增与删除数据附源码下载
2015/12/02 Javascript
非常实用的js验证框架实现源码 附原理方法
2016/06/08 Javascript
jQuery组件easyui基本布局实现代码
2016/08/25 Javascript
半个小时学json(json传递示例)
2016/12/25 Javascript
EasyUI中的dataGrid的行内编辑
2017/06/22 Javascript
layui table去掉右侧滑动条的实现方法
2019/09/05 Javascript
springboot+vue+对接支付宝接口+二维码扫描支付功能(沙箱环境)
2020/10/15 Javascript
[37:45]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS Orenda
2014/05/22 DOTA
python 将字符串转换成字典dict
2013/03/24 Python
Python中的with...as用法介绍
2015/05/28 Python
让Django支持Sql Server作后端数据库的方法
2018/05/29 Python
OpenCV2从摄像头获取帧并写入视频文件的方法
2018/08/03 Python
Django后台admin的使用详解
2019/07/08 Python
Pat McGrath Labs官网:世界上最有影响力的化妆师推出的彩妆品牌
2018/01/07 全球购物
JustFab加拿大:女鞋、靴子、手袋和服装在线
2018/05/18 全球购物
Java面向对象面试题
2016/12/26 面试题
高一历史教学反思
2014/01/13 职场文书
班级学习雷锋活动总结
2014/07/04 职场文书
2015年乡镇科普工作总结
2015/05/13 职场文书
离职信范文
2015/06/23 职场文书
2016特色励志班级口号
2015/12/24 职场文书