zoukankan      html  css  js  c++  java
  • yii2 緩存

    1、Yii框架的缓存

        主要就是“memcache” 和 “cache”两种

        Yii的自带缓存都继承CCache 类, 在使用上基本没有区别

    2、使用方法

        (1)在config配置文件main.php文件中配置如下代码

    'cache' => array (
                'class' => 'system.caching.CFileCache',
                'directoryLevel'=>'2',
            ),
            'memcache' => array(
                'class'=>'system.caching.CMemCache',
                'servers'=>array(
                    array('host'=>'localhost', 'port'=>11211, 'weight'=>60),
                ),
            )

    (2)“memcache”的使用方法

                 缓存基础类 CCache 提供了两个最常用的方法:set() 和 get()方法;

                 将$value这个变量中的值进行缓存,需要写入到一个变量中

                 书写方式:

                 Yii::app()->memcache ->set($key, $value, $expire);  //写入缓存变量$key中 $expire=30

                 Yii::app()->memcache ->get($key);  //得到缓存变量$key

                 Yii::app()->memcache ->deleteValue($key); //删除缓存变量 $key

             

      $menus = Yii::app()->memcache->get('menus');
            if($menus === false){
                $menus = EnNewsType::model()->findAllByAttributes(array(),array('condition'=>'type_id != 6 and  status=1','order'=>'update_time DESC'));
                Yii::app()->memcache->set('menus',$menus,$defult_cache); //$defult_cache = 15*60;
            }

    (3)“cache"的使用方法           

                 $value=Yii::app()->cache->get($id);  

                 if($value===false)  {

                  //因为在缓存中没找到,重新生成 $value 

                  //Yii::app()->cache->set($id,$value,30);  

                 }

             说明:1、缓存的变量选择 ID 时,确保该 ID 在应用中是唯一的;

                     2、要从缓存中删除一个缓存值,调用 delete();

                     3、要清空所有缓存,调用 flush();   //调用 flush() 时要非常小心,因为它会把其它应用的缓存也清空。

                   因为 CCache 实现了 ArrayAccess 接口,可以像数组一样使用缓存组件)         

      1. $cache=Yii::app()->cache;  
      2. $cache['var1']=$value1;  // 相当于: $cache->set('var1',$value1);  
      3. $value2=$cache['var2'];  // 相当于: $value2=$cache->get('var2');
  • 相关阅读:
    XSS 防御方法总结
    IE浏览器兼容方案
    js 排序算法
    webapck 打包体积优化策略
    webapck 速度优化策略
    Grunt、Gulp和Webpack对比
    数据库中的undo日志、redo日志
    使用sysbench对mysql压力测试
    java -cp & java jar的区别
    使用BenchmarkSQL测试PostgreSQL
  • 原文地址:https://www.cnblogs.com/wuheng1991/p/10001368.html
Copyright © 2011-2022 走看看