PHP缓存技术的详细概述
那就是,网页都是由HTML静态页面生成静态页面,用户访问的时候直接用户的访问,而不去解析的PHP服务器的过程。这种方式在CMS系统中更为常见,如dedecms;
最常用的实现之一是使用输出缓存:
复制代码代码如下所示:
ob_start()
运行代码***
$content = ob_get_contents();
缓存的内容写HTML文件***
ob_end_clean();
页面部分缓存
这种方式,是不是经常更改页面的静态缓存,缓存块和不经常改变,最后组装在一起显示;可以使用类似的方法来ob_get_contents,也可以使用页面缓存策略如ESI,这是用来做在片段缓存相对静态的部分动态页(ESI,请百度,这里是说)。
此方法可作为商城中的商品页使用。
数据缓存
顾名思义,是一种高速缓存数据;例如,在商场的商品信息,货物什么时候来证要求,包括店铺信息、商品信息和其他数据,你现在可以把这些数据缓存到一个PHP文件,文件名中包含产品ID建立一个独特的标识符;有人检查货物的下一次,第一次直接在文档的信息,而不是去数据库查询缓存;实际上缓存文件是PHP数组一样;
这是在欧美汇商业城系统的方法。
查询缓存
事实上,与数据缓存是一种思维方式,是基于查询语句缓存;查询获取文件中的数据缓存,下次遇到同样的查询,它直接从这个文件里面的数据传输,不会去检查数据库;但宦存文在这里的成员可能需要查询为切入点,建立一个唯一的标识符;
按时间变化缓存
事实上,这不是一个真正的缓存;2, 3, 4个以上的一般缓存技术用于更改判断时间;缓存文件需要在有效时间设置过期时间,访问将占用相同内容的缓存文件,但缓存时间超过集合。您需要从数据库检索数据,以及生成新的缓存文件;
例如,我会把我们的商业城主页设置为2小时更新;
按内容更改缓存
这不是一个独立的缓存技术,需要合并,也就是说,当数据库内容被修改时,缓存文件立即更新;
例如,一个购物中心,一个巨大的商品流通,商品必须是比较大的,压力很重;我们会在商品展示页面缓存页;当企业改变产品的背景信息,点击保存,我们将更新缓存文件;然后,获得事实上的商品买家,获取信息,是一个静态的页面,而不需要访问数据库;
如果认为没有缓存商品页,那么每次访问商品时,就必须检查数据库一次。如果10万个人在线浏览商品,服务器压力很大。
内存缓存
你觉得这是Memcached的第一件事;Memcached是一个高性能的分布式内存缓存服务器。一般使用的目的是通过缓存数据库查询结果,减少数据库的访问次数,从而提高速度和动态Web应用程序的可扩展性。
它是缓存需要缓存到系统内存中的信息。当需要获取信息时,它将直接被带到内存中。更常见的方法是键>值方式。
复制代码代码如下所示:
< PHP
memcachehost美元= '192.168.6.191;
memcacheport = 11211美元;
memcachelife = 60美元;
$ Memcache =新memcache;
美元($ memcachehost memcache ->连接,memcacheport美元)或死亡(无法连接);
$ Memcache ->设置(关键','缓存的内容);
$ GET =美元Memcache ->得到($键); / /获取信息
>
Apache缓存模块
在安装Apache,它就不能被缓存。如果外部高速缓存或鱿鱼须加速Web服务器,它将需要在htttpd.conf成立。当然,前提是要激活mod_cache模块在Apache安装。
安装Apache时,启用缓存——启用磁盘缓存——启用MEM缓存
缓存扩展
PHP有一个APC缓存扩展,和php_apc.dll在Windows环境下,需要先加载,然后配置php.ini:
{ APC }
php_apc.dll延伸=
在apc.rfc1867 =
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代码解析为令牌,然后编译成机器码代码,执行指令的操作码,返回结果;因此,对于相同的PHP文件,第一次运行可以缓存操作码代码,下次执行这个页面,直接操作码编码下找到缓存,没有中间步骤需要最后一步直接执行。
比较有名的是XCache,图尔克毫米缓存,PHP加速器等等