鲁鲁槟 2016-05-27 14:48:36 3375次浏览 2条回复 1 0 0

作者:鲁鲁槟 出处:http://www.luluqi.cn/post/default/show-post?id=23 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

缓存介绍 1、缓存:临时存储数据,将从数据库查询到的数据放在数据库、磁盘、内存中 2、读写速度:内存>磁盘>数据库

缓存介质 1、Apc缓存:单台服务器最快的数据缓存介质,将数据放在共享的内存块中

  • 在单台Web服务器的内存中设置一定的内存大小,用于Apc控制下的共享内存块
  • 服务器下有两个应用:www.luluyii.cn和mysql.luluyii.cn,它们共享着Apc内存块
  • 注意:多个应该key冲突:比如有两个相同key,但是value不一样时,会冲突;
  • 解决方法:为每个key添加项目名的前缀,比如www_a、mysql_a

2、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的数据;

3、FileCache:文件缓存,主要存储一些大的string

  • yii2文件缓存目录:runtime/cache
  • 文件缓存作用域:单个web应用,比如yii2前后台的文件缓存相互独立
  • yii2文件缓存配置:在应用主件中配置'cache'=>['class'=>'yii\caching\FileCache']

4、ArrayCache:只对当前的请求有用

您需要登录后才可以回复。登录 | 立即注册