PHP 文件缓存的性能测试

yipeiwu_com6年前PHP代码库

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

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

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

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

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

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

相关文章

php 中self,this的区别和操作方法实例分析

本文实例讲述了php 中self,this的区别和操作方法。分享给大家供大家参考,具体如下: 面向对象编程(OOP,Object OrientedProgramming)现已经成为编程人...

PHP 身份验证方面的函数

复制代码 代码如下:<?php // 计算身份证校验码,根据国家标准GB 11643-1999 function idcard_verify_number($idcard_base...

PHP实现获取文件后缀名的几种常用方法

本文实例讲述了PHP实现获取文件后缀名的几种常用方法。分享给大家供大家参考。具体如下: 方法1: function get_file_type($filename){ $type...

php使用正则验证中文

php用preg_match来匹配并判断一个字符串中是否含有中文或者都是中文的方法如下: $str = 'php学习博客'; if(preg_match('/[\x7f-\xff]/...

php magic_quotes_gpc的一点认识与分析

blankyao 说“学习的过程就是不断的发现错误,不断的改正错误”; 先看下手册上怎么说的吧! 对一般人来说看下前两段就可以了 Magic Quotes 代码: Magic Quote...