前言/PREFACE
PHP文件是一种以php为后缀的文件,是php脚本文件。
用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;
PHP还能够执行编译后代码,编译能够达到加密和优化代码运行,使代码运行更快。
PHP文件缓存 PHP文件缓存内容保留格式
(1)变量 var_export 格式化成PHP正常的赋值书写格式;
(2)变量 serialize 序列化之后保留,用的时候反序列化;
(3)变量 json_encode格式化之后保留,用的时候json_decode
测试结果:serialize格式的文件解析效率大于Json,Json的解析效率大于PHP正常赋值。
因此咱们要是缓存数据意见采用序列化的形式解析数据会更快。
PHP配置文件
PHP文件缓存的简单案例
PHP文件总结
全页面静态化缓存
亦便是将页面所有生成html静态页面,用户拜访时直接拜访的静态页面,而不会去走php服务器解析的流程。此种方式,在CMS系
统中比较平常,例如dedecms;
一种比较常用的实现方式是用输出缓存:
Ob_start()
******要运行的代码*******
$content =ob_get_contents();
ob_end_clean();
页面部分缓存
该种方式,是将一个页面中不经常变的部分进行静态缓存,而经常变化的块不缓存,最后组装在一块表示;能够运用类似于ob_get_contents的方式实现,亦能够利用类似ESI之类的页面片段缓存策略,使其用来做动态页面中相对静态的片段部分的缓存。
数据缓存
顾名思义,便是缓存数据的一种方式;例如,商城中的某个商品信息,当用商品id去请求时,就会得出包含店铺信息、商品信息等数据,此时就能够将这些数据缓存到一个php文件中,文件名包括商品id来建一个独一标示;下一次有人想查看这个商品时,首要就直接调这个文件里面的信息,而不消再去数据库查找;其实缓存文件中缓存的便是一个php数组之类。
查找缓存
该种方式,是将一个页面中不经常变的部分进行静态缓存,而经常变化的块不缓存,最后组装在一块表示;能够运用类似于ob_get_contents的方式实现,亦能够利用类似ESI之类的页面片段缓存策略,使其用来做动态页面中相对静态的片段部分的缓存。
按内容变更进行缓存
这个亦并非独立的缓存技术,需结合用;便是当数据库内容被修改时,即刻更新缓存文件;
例如,一个人流量很大的商城,商品非常多,商品表必然比很强,这表的压力亦比较重;咱们就能够对商品表示页进行页面缓存。
Apache缓存
apache安装完以后,是不准许被cache的。倘若外接了cache或squid服务器需求进行web加速的话,就需要在htttpd.conf里进行设置,当然前提是在安装apache的时候要激活mod_cache的模块。
安装apache时:./configure --enable-cache --enable-disk-cache--enable-mem-cache
php APC缓存扩展
Php有一个APC缓存扩展,windows下面为php_apc.dll,需要先加载这个模块,而后是在php.ini里面进行配置:
[apc]
extension=php_apc.dll
apc.rfc1867 = on
upload_max_filesize = 100M
post_max_size = 100M
apc.max_file_size = 200M
upload_max_filesize = 1000M
post_max_size = 1000M
max_execution_time = 600 ; 每一个PHP页面运行的最大时间值(秒),默认30秒
max_input_time = 600 ; 每一个PHP页面接收数据所需的最大时间,默认60
memory_limit = 128M ; 每一个PHP页面所吃掉的最大内存,默认8M。
Opcode缓存
php的执行流程
首要php代码被解析为Tokens,而后再编译为Opcode码,最后执行Opcode码,返回结果;因此,针对相同的php文件,第1次运行时能够缓存其Opcode码,下次再执行这个页面时,直接会去找到缓存下的opcode码,直接执行最后一步,而再也不需要中间的过程了。
比较知名的是XCache、Turck MM Cache、PHP Accelerator等。
*声明:本文于网络整理,版权归原作者所有,如源自信息有误或侵犯权益,请联系咱们删除或授权事宜
|