关于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框架)




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值