页面缓存PageCache
作为网站来讲,Yii2的页面缓存非常便捷地将已经渲染完全的网页结果保存起来,并在一个缓存周期内不需要再次处理页面内部的控制器动作逻辑。
配置页面缓存
页面缓存的配置方式为,在控制器层Controller中配置行为behaviors,通过调用过滤器filters的方式,在进入具体页面路径action的之前,对当前key进行计算,并判断缓存是否启用enabled缓存有效期duration。
这里的自由度就出现了,现在这个配置,是文件缓存,也就是不管是数据缓存还是页面缓存,都是保存在文件里的
根据源码 public $cachePath = '@runtime/cache’;
缓存的文件是放在runtime/cache文件夹的
那么问题就出现了,磁盘的性能是有瓶颈的,文件读写会影响缓存性能。
目前可选的缓存有
yii\caching\ApcCache,APC扩展
yii\caching\DbCache,数据库缓存
yii\caching\DummyCache,假的缓存,就是现在没条件上缓存先把坑占上
yii\caching\FileCache,文件缓存
yii\caching\MemCache,使用 PHP memcache 和 memcached 扩展
yii\redis\Cache,redis
yii\caching\WinCache,使用 PHP WinCache 扩展
yii\caching\XCache,使用 PHP XCache扩展
yii\caching\ZendDataCache,使用Zend Data Cache
总结
我在本文中,通过渐进的方式,讲了如何使用Yii2的缓存组件,对于一般的使用者来讲,已经涵盖了超过九成的坑。
本文为白俊遥原创文章,转载无需和我联系,但请注明来自白俊遥技术文章