关于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框架)
上一篇: 九代酷睿i3开放睿频加速:秒变i5
下一篇: 看这一树的圣诞礼物,够用了不?!