yii2 緩存

一、Yii框架的缓存php

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

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

二、使用方法app

    (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”的使用方法spa

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

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

             书写方式:blog

             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);  

             }

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

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

                 三、要清空全部缓存,调用 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');
相关文章
相关标签/搜索