yii2 缓存

2017-01-20 鲁鲁槟 收藏

一、数据缓存

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

只对当前的请求有用

暂时还没有评论,快来抢沙发吧~

发表评论

您需要登录后才可以评论。登录 | 立即注册
阅读 919