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