全页面静态化缓存、页面部分缓存与数据缓存的详细解析与应用场景

1。全页静态缓存意味着生成所有页面以生成HTML静态页面,这些页面在访问时直接访问,并且不会浏览PHP服务器解析过程。该方法在CMS系统(例如DEDECM)中更为常见。

全页面静态化缓存、页面部分缓存与数据缓存的详细解析与应用场景

一种更常用的实现方法是使用输出缓存:

2。此方法是在静态地缓存页面的一个部分,而经常更改的块没有缓存,最后组装在一起以显示;它可以以类似于OB_GET_CONTENTS的方法实现,也可以用于使用类似的页面片段片段缓存策略(例如ESI)用于缓存动态页面中的相对静态片段零件(ESI技术,请BAIDU,BAIDU,此处不详细介绍)。

该方法可用于购物中心的产品页面;

3。顾名思义,数据缓存是缓存数据的一种方法;例如,当商场中的某些产品ID中请求产品ID时,将获得包括商店信息,产品信息和其他数据的数据,此时,您可以使用产品ID来请求。这些数据被缓存到PHP文件中,并且该文件名称包含产品ID来创建唯一标签。下次有人要查看此产品时,首先直接调整文件中没有数据库中的信息;实际上,在缓存文件中,它在缓存中是PHP数组。

此方法用于Ecmall购物中心系统中;

4。查询缓存实际上与数据缓存相同,该数据缓存是根据查询语句缓存的;缓存文件中的查询数据,下次您遇到相同的查询时,您将直接调整此文件中的数据。我不会再次检查数据库;但是这里的缓存文件名可能需要使用查询语句作为建立唯一标签的基点。

按时间更改缓存

实际上,这不是真正的缓存方法。 2、3和4以上的缓存技术通常使用时间更改判断;也就是说,对于缓存文件,您需要设置一个有效的时间,并且在此有效时间内仅允许相同的访问。首先获取缓存文件的内容,但是在设置缓存时间之后,您需要从数据库中重新获取数据并产生最新的缓存文件。例如,我将购物中心的主页设置为每2小时一次更新一次。

5。根据内容变化的缓存不是独立的缓存技术,需要组合使用;也就是说,当修改数据库内容时,缓存文件将立即更新;例如,一个交通量较大的购物中心,有很多产品,并且产品表必须相对较大。 ,这张桌子上的压力也相对较重。我们可以缓存产品显示页面;

当商人在后台修改此产品的信息时,单击“保存”,我们将同时更新缓存文件;然后,当买方访问该产品的信息时,他实际上访问了一个静态页面,而无需再次访问数据库。

请想象,如果未纳入产品页面,则必须转到数据库才能在每次访问产品时检查。如果100,000人在线浏览产品,则服务器将承受巨大压力;

6.记忆缓存在此方面,我想到的第一件事是模仿的; Memcached是高性能分布式内存缓存服务器。使用的一般目的是缓存数据库查询结果,并减少数据库访问的数量,以提高动态Web应用程序的速度并提高可扩展性。

它缓存需要缓存到系统内存中的信息,当需要获取信息时,它将直接检索到内存中;更常见的方法是键 - >值方法。

7。安装Apache Cache模块Apache后,不允许将其缓存。如果外部缓存或鱿鱼服务器需要Web加速,则需要在httpd.conf中设置它。当然,前提是安装Apache时必须激活MOD_CACHE模块。

安装Apache:./configure - Enable-Cache - Enable-Disk-Cache - Enable-Mem-Cache

8。PHPAPC缓存扩展PHP具有APC缓存扩展名,即Windows下方的php_apc.dll。您需要先加载此模块,然后将其配置为php.ini:

9。我们知道,PHP的执行过程可以在下图中显示:

首先,将PHP代码解析为令牌,然后将其编译为OpCode代码,最后执行OpCode代码以返回结果;因此,对于同一PHP文件,可以在第一次运行时可以缓存其OPCODE代码,并且下次执行页面时,您将直接找到缓存的OpCode代码并直接执行最后一步,而无需对于中间步骤。更知名的是XCache,Turck MM Cache,PHP加速器等。

你可能想看:
« 上一篇
下一篇 »

相关推荐

php实时推送,php实地培训

2026年10月05日

53阅读

php乱码出现问号的原因,php乱码出现问号的原因有哪些

2026年10月05日

44阅读

php一句话木马,一句话木马ctf

2026年10月05日

48阅读

php获取数组长度,php中如何获取数组的长度

2026年10月05日

50阅读

php面试题库及答案,php程序员面试真题库

2026年10月05日

47阅读

phpcontent-type修改,php源码二次修改需要多少钱

2026年10月05日

42阅读