在开发MooPHP过程中为了寻找更为高效缓存Cache方式对两种最常用缓存Cache方式进行了测试
PHP常用缓存Cache方式:
第种把需要缓存Cache数据进行处理形成PHP可以直接执行文件在需要缓存Cache数据时候通过方式引入并使用
第 2种把需要数据通过serialize序列化后直接保存到文件在需要使用缓存Cache数据时候通过反序列化读入文件内容并复制给需要变量然后使用
测试结果:
通过测试我们发现第 2种也就是serialize缓存Cache数据方式更加高效(数据略去最后提供了文章地址下载大家可以自行测试)
原因分析:
方式读取缓存Cache时候PHP需要执行几个过程
1.读取文件
2.解析所Include文件
3.执行给变量赋值
而serialize序列化方式读取缓存Cache时候:
1.读取数据
2.反序列化数据内容
3.给变量赋值
从以上内容对比话可能是由于解析PHP文件内需要时间超过unserialize反序列化时间如果你有兴趣可以查看PHP filesystem相关和 require性能效率研究:http://www.ccvita.com/163.html
测试文件代码:
下载地址:MooPHP-CacheTest.zip
原创地址:http://www.ccvita.com/311.html有新研究心得体会会在这里更新
CacheTest_IncludeFile.php
CacheTest_SerializeFile.php
整理总结分析:
第种缓存Cache方式
优点:增加数据保密性和安全性缓存Cache内容不会被外界发现
缺点:速度相对较慢
用途:保存禁止系统外部得知数据比如web系统设置甚至MySQL信息等保存
第 2种serialize序列化缓存Cache方式
优点:速度较快
缺点:缓存Cache系统文件路径点曝光缓存Cache内容会泄露
用途:缓存Cache最新文章相关文章等不担心外部得知数据时候可以使用这种方式
备注:
当装了ea、apc等PHP内存缓存Cache的后第种通过读取缓存Cache方式速度会高于第 2种serialize序列化缓存Cache方式所以在MooPHP框架中我们对于非敏感信息采用第 2种方式缓存Cache;敏感信息采用第种方式缓存Cache有关MooPHP介绍可以参考MooPHP框架介绍这篇文章(地址:http://www.ccvita.com/295.html)
最新评论