yii 阅读 4916
Yii2 第2章 缓存

Yii2 第2章 缓存

2017-01-20 • lulubin

一、数据缓存

1.1、数据缓存之 CRUD

https://file.lulublog.cn/images/3/2022/08/Vk9kgQ429I9c3I4u3YcYX3nX22IUE6.png?sign=f45b5fd05772a6700d07eb1fe9bda065&t=6acd0400

1.2、数据缓存之有效期设置

https://file.lulublog.cn/images/3/2022/08/deW8GFNa1IWN8JKhyhkZKCn8E2Ekkf.png?sign=bff019a3dd3750d8b0182b808a9f1a24&t=6acd0400

1.3、数据缓存中依赖关系

https://file.lulublog.cn/images/3/2022/08/jKK1SI6j3h0J5Ki03I0H556mJ31T5z.png?sign=f5fb61378553599ad93ac2ddb3c98c42&t=6acd0400

https://file.lulublog.cn/images/3/2022/08/I89GyrNGDJf8nmGUJ9ZlMN8d5ljnOg.png?sign=13c21d333a3923f963536f9ccd77b6eb&t=6acd0400

https://file.lulublog.cn/images/3/2022/08/M0EfDN4EU6dFaz5LW0eD6fn6FlldFd.png?sign=8af4a4689a7616ed2a685031917cbe88&t=6acd0400

二、片段缓存

2.1、片段缓存之使用

https://file.lulublog.cn/images/3/2022/08/ddDr4Xdz3Am0rak3DA63dagGLmR6X4.png?sign=2d6e7c714fe0650351d67d704a7ee5f0&t=6acd0400

2.2、片段缓存之设置

https://file.lulublog.cn/images/3/2022/08/ME9olloeZQ2FLv57VqOjVPQ5qLJH95.png?sign=763b411c4452937c5489afb9a21c3eac&t=6acd0400

https://file.lulublog.cn/images/3/2022/08/Ut7h5pu4hMMUpMH5daHzmpENDTp7Su.png?sign=32c60611f7c9bbec56b0db09a7f991b3&t=6acd0400

https://file.lulublog.cn/images/3/2022/08/dias9nNESYaZhIPEptSnpqr5Spepi2.png?sign=b63e74a4bfd72114bed6185158f5f691&t=6acd0400

https://file.lulublog.cn/images/3/2022/08/vLYBQr9tylYLzDlliOER8BILOY8tj2.png?sign=b79caee3bfba4675c0b7e81e531577e8&t=6acd0400

https://file.lulublog.cn/images/3/2022/08/Iw56wvAyWwKdd63ikDW5iwRzwaYciw.png?sign=d50bb8087158f114757d7672374f569c&t=6acd0400

三、页面缓存

https://file.lulublog.cn/images/3/2022/08/M80DQ9M4qa1zSOqDd24DAQ4xSD1zxa.png?sign=2a8d70662c4e86ebd972b82fb979c589&t=6acd0400

四、HTTP缓存:缓存在浏览器

4.1、lastModified、ETag

https://file.lulublog.cn/images/3/2022/08/sKd03kRXXxar0dzRRZbBkkKf4jr4JX.png?sign=99aac621e82c9d95bef61cb3d506bfd3&t=6acd0400

https://file.lulublog.cn/images/3/2022/08/Ku40OuOOo00O0Za7U0hOoo70h2uTau.png?sign=3ffc04bdfcd4924b93ee178a77045035&t=6acd0400

https://file.lulublog.cn/images/3/2022/08/zn298EvQVGVNVHuceK58vVNGtnuGcK.png?sign=d7e24520f924b04036e49b5e60253bdb&t=6acd0400

https://file.lulublog.cn/images/3/2022/08/jZqFpJmoMwQy8aMFg70X3RHFBMRfjx.png?sign=5cb9a1290daee7976090a0fd20bf1ca7&t=6acd0400

https://file.lulublog.cn/images/3/2022/08/hF7TT6hK3e9W92c03fkKP3C693h4L6.png?sign=37e728ce4ffc9aef7651b4b00305b37d&t=6acd0400

4.2、实例

https://file.lulublog.cn/images/3/2022/08/D8vfli3xJILxktxcvCipI7s7P1pS1z.png?sign=2f378e1964c3ff84a6fcb3c75c36524b&t=6acd0400

五、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

只对当前的请求有用

打赏

×

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开微信扫一扫,即可进行扫码打赏哦