一、数据缓存
1.1、数据缓存之 CRUD
1.2、数据缓存之有效期设置
1.3、数据缓存中依赖关系
二、片段缓存
2.1、片段缓存之使用
2.2、片段缓存之设置
三、页面缓存
四、HTTP缓存:缓存在浏览器
4.1、lastModified、ETag
4.2、实例
五、yii2 缓存介质的介绍
5.1、缓存介绍
①、缓存
临时存储数据,将从数据库查询到的数据放在数据库、磁盘、内存中
②、读写速度
内存>磁盘>数据库
5.2、缓存介质
①、Apc缓存
单台服务器最快的数据缓存介质,将数据放在共享的内存块中
- 在单台Web服务器的内存中设置一定的内存大小,用于Apc控制下的共享内存块
- 服务器下有两个应用:www.luluyii.cn和mysql.luluyii.cn,它们共享着Apc内存块
- 注意:多个应该key冲突:比如有两个相同key,但是value不一样时,会冲突;
- 解决方法:为每个key添加项目名的前缀,比如www_a、mysql_a
②、MemCache
多台服务器最快的数据缓存介质,将数据分布式的存储在服务器内存中
- yii2配置MemCache:'cache'=>['class'=>'yii\caching\MemCache','servers'=>['host'=>'127.0.0.1','port'=>'80','weight'=>100]],'keyPrefix'=>'www_']
- 解释:weight指权重,权重越大,该应用的内存越大;keyPrefix指存储数据的前缀,一般用项目名称作为前缀
- 案例:在前台某控制器中设置cache数据:yii::$app->cache->set('arr','a'=>'20');在前后台均可以通过\yii::$app->cache->get('arr')获取到名为arr的数据;
③、FileCache
文件缓存,主要存储一些大的string
- yii2文件缓存目录:runtime/cache
- 文件缓存作用域:单个web应用,比如yii2前后台的文件缓存相互独立
- yii2文件缓存配置:在应用主件中配置'cache'=>['class'=>'yii\caching\FileCache']
④、ArrayCache
只对当前的请求有用