在大多数情况下,我们的网站使用数据库作为一个现场数据存储的容器。当你执行一个SQL查询,这个过程是典型的:连接到数据库SQL ->发送查询到数据库查询,数据库返回结果-> ->关闭数据库连接。但一些数据库中的数据是完全静态的或不经常发生变化,缓存系统会通过SQL查询结果缓存到存储系统的速度更快,从而避免频繁操作数据库,大大提高了程序的执行时间,缓存查询结果也允许你的后处理。

PHP缓存技术的常见应用

PHP缓存技术的数据缓存:

数据缓存是一个数据库查询缓存,每个访问页面首先会检测到对应的缓存数据存在,如果没有,将连接到数据库,获取数据,并将查询结果序列化后保存到一个文件中,然后同一个查询结果直接从缓存文件访问。

PHP缓存技术的页面缓存:

每次访问页面时,首先会检测到对应文件存在的缓存页面,如果没有,将连接到数据库,获取数据,显示页面并生成缓存的页面文件,以便下次访问页面文件时起作用(模板引擎和Internet上的一些常见的缓存类通常具有此功能)。

PHP缓存技术的内存缓存:

这不是在报纸上介绍的。这篇文章没有讨论。只作了简短的说明。

Memcached是一个高性能的分布式的内存对象缓存系统,减少数据库负载的动态应用程序和提高访问速度。

dbcached是一个分布式的Key-Value数据库内存缓存系统Memcached和NMDB。

上述缓存技术可以解决数据库频繁查询的问题,但其缺点在于数据没有时效性。现在我将按照我通常的方式来做这个项目。

PHP缓存技术的时间触发缓存:

检查文件是否存在,时间戳是否小于设置的过期时间。如果文件修改的时间戳大于当前时间戳减去到期时间戳,则使用缓存或更新缓存。

设置时间不确定数据是否应该更新,在设置缓存更新时间后,以上仅适用于时间要求不高时,否则请查看以下内容。

PHP缓存技术的内容触发缓存:

当插入或更新数据时,缓存将被更新。

在这里我们可以看到,当有很多,需要经常更新的数据,它最终会涉及到磁盘的读写操作。如何解决这个问题,我通常不在我的日常项目缓存的所有内容,但缓存的内容不经常变化的一部分。但在重负载的情况下,最好是使用共享内存作为缓存系统。

PHP缓存在这里可能有一些解决方案,但它的缺点是每个请求仍在进行PHP解析。在大负荷情况下,效率问题更为严重。在这种情况下,可以使用静态缓存。

PHP缓存技术的静态缓存

静态缓存称为HTML缓存,而HTML缓存通常不需要确定数据是否更新。因为HTML通常不经常用于更改内容页。当数据更新时,也可以更新HTML。