博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
yii2 緩存
阅读量:6118 次
发布时间:2019-06-21

本文共 1477 字,大约阅读时间需要 4 分钟。

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

转载地址:http://jwmka.baihongyu.com/

你可能感兴趣的文章
bootstraptable toolbar
查看>>
Quartz.Net进阶之四:CronTrigger 详述
查看>>
从零学习Fluter(九):正式使用flutter进入商业开发
查看>>
转sql server新增、修改字段语句(整理)
查看>>
Asp.Net Core 轻松学-正确使用分布式缓存
查看>>
Unicode与中文转换工具类方法(转)
查看>>
Redis能做什么?不能做什么?
查看>>
freemarker ,DEFAULT_INCOMPATIBLE_IMPROVEMENTS 找不到
查看>>
(原創) 如何在博客園上顯示pdf檔? (Web) (HTML)
查看>>
Delphi快捷键
查看>>
转载:详解C中volatile关键字
查看>>
敏捷个人纸质书:第一章 源于生活和工作的敏捷个人
查看>>
matlab练习程序(Marr-Hildreth边缘检测)
查看>>
向其他程序发送中文字符
查看>>
不能在DropDownList 中选择多个项
查看>>
【Java】解析xml
查看>>
ASP.NET IIS 注册工具
查看>>
Android之MVC模式
查看>>
delete all foreign key store procedure
查看>>
用示例说明BitMap索引的效率要优于B-Tree索引
查看>>