欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

关于php缓存技术的简单总结

程序员文章站 2022-05-18 08:51:19
关于php缓存技术的简单总结:PHP缓存包括PHP编译缓存和PHP数据缓存两种。PHP是一种解释型语言,属于边编译边运行的那种。这种运行模式的优点是程序修改很方便,但是运行效率却很...

关于php缓存技术的简单总结:PHP缓存包括PHP编译缓存和PHP数据缓存两种。PHP是一种解释型语言,属于边编译边运行的那种。这种运行模式的优点是程序修改很方便,但是运行效率却很低下。PHP编译缓存针对这种情况做改进处理,使得PHP语言只要运行一次,就可以把程序的编译结果缓存起来。

PHP缓存包括PHP编译缓存和PHP数据缓存两种。PHP是一种解释型语言,属于边编译边运行的那种。这种运行模式的优点是程序修改很方便,但是运行效率却很低下。

PHP编译缓存针对这种情况做改进处理,使得PHP语言只要运行一次,就可以把程序的编译结果缓存起来。这样,接下来的每次运行(代码没有改变的情况下)都不需要再次编译了,直接把之前的编译结果拿来使用,比如thinkPHP里面runtime想下的cache文件就是属于这种。

第一次打开页面会生成php文件,之后打开页面,会发现文件的修改时间没有变,即使用了之前的编译结果,不过当更改了代码之后,这部分php编译文件还是会重新生成,这大大提高PHP运行速度。PHP数据缓存运用于PHP实际开发之中针对数据处理进行缓存,主要两大方向为:针对数据库数据进行缓存和针对PHP模板数据进行缓存。

PHP编译缓存

PHP是一种解释型语言,在PHP语言执行代码的时候,需要下面两步: 1、编译过程。PHP读取文件,并编译该文件,然后生成能够在Zend Engine虚拟机上执行的中间码。 2、执行过程。PHP直接执行中间码。 以下两种情况,会导致PHP运行程序代码效率低下: 1、即使PHP代码文件没有发生改变,也会被PHP重新编译。 2、如有引用文件,PHP也要花费时间重新编译这些被引用的文件。 因此,需要PHP编译缓存工具对PHP程序的编译结果做缓存处理。这样,PHP程序只要编译一次,就不要重新再做无意义的编译了。

PHP数据缓存

PHP的数据缓存包括针对数据库数据进行缓存(动态缓存)和针对PHP模板数据进行缓存(模板层面的静态缓存)。针对数据库数据进行缓存的工具有memcache等。针对PHP模板数据进行缓存的工具主要有smarty等。

1、数据库数据缓存技术: 数据缓存:这里所说的数据缓存是指数据库查询PHP缓存机制,每次访问页面的时候,都会先检测相应的缓存数据是否存在,如果不存在,就连接数据库,得到数据,并把查询结果序列化后保存到文件中,以后同样的查询结果就直接从缓存表或文件中获得。 例如使用memcache,每次先在memcache里面进行查找,如果发现相应的key值则直接使用,如果没有则从数据库里面调取,同时更新到memcache里面。

2、页面缓存: 每次访问页面的时候,都会先检测相应的缓存页面文件是否存在,如果不存在,就重新走控制器,连接数据库,得到数据,显示页面并同时生成新的缓存页面文件,这样下次访问的时候页面文件就就可以直接给予显示,这种情况下就可以不走控制器。(模板引擎和网上常见的一些PHP缓存机制类通常有此功能,例如smarty模板、thinkphp框架)