`

Yii框架自带缓存的使用方法

    博客分类:
  • PHP
 
阅读更多
Yii的自带缓存都继承CCache 类, 在使用上基本没有区别
缓存基础类 CCache 提供了两个最常用的方法:set() 和 get()。
要在缓存中存储变量 $value,我们选择一个唯一 ID 并调用 set() 来存储它:
Yii::app()->cache->set($id, $value);
被缓存的数据会一直保留在缓存中,直到因一些缓存策略而被删除(比如缓存空间满了,删除最旧的数据)。要改变这一行为,我们还可以在调用 set() 时加一个过期参数,这样数据过一段时间就会自动从缓存中清除。

// 在缓存中保留该值最多 30 秒
Yii::app()->cache->set($id, $value, 30);

当我们稍后需要访问该变量时(不管是不是同一 Web 请求),我们调用 get() (传入 ID)来从缓存中获取它。如果返回值为 false,说明该缓存不可用,需要我们重新生成它。
$value=Yii::app()->cache->get($id);
if($value===false)
{
    // 因为在缓存中没找到,重新生成 $value
    // 再缓存一下以备下次使用
    // Yii::app()->cache->set($id,$value);
}
为一个要缓存的变量选择 ID 时,确保该 ID 在应用中是唯一的。不必保证 ID 在跨应用的情况下保证唯一,因为缓存组件有足够的智能来区分不同应用的缓存 ID。
要从缓存中删除一个缓存值,调用 delete();要清空所有缓存,调用 flush()。调用 flush() 时要非常小心,因为它会把其它应用的缓存也清空。
提示: 因为 CCache 实现了 ArrayAccess 接口,可以像数组一样使用缓存组件。例如:
$cache=Yii::app()->cache;
$cache['var1']=$value1;  // 相当于: $cache->set('var1',$value1);
$value2=$cache['var2'];  // 相当于: $value2=$cache->get('var2');

要使用这些缓存也很简单,只要服务器支持, 然后通进简单的修改配置文件即可使用

一. Memcache 的使用
1. 编辑配置文件config/main.php 添加memcache配置
array(
    'components'=>array(
        'memcache'=>array(
            'class'=>' system.caching.CMemCache',
            'servers'=>array(
                array(
                    'host'=>'server1',
                    'port'=>11211,
                    'weight'=>60,
                ),
                array(
                    'host'=>'server2',
                    'port'=>11211,
                    'weight'=>40,
                ),
            ),
        ),
    ),
)
2. 在框架中的使用
Yii::app()->memcache ->set($key, $value, $expire);
Yii::app()->memcache ->get($key);
Yii::app()->memcache ->deleteValue($key);

二. 数据库缓存的使用
1. 编辑配置文件config/main.php 添加dbcache配置
return array(
    ......
    'components'=>array(
        ......
        'dbcache'=>array(
            'class'=>' system.caching.CDbCache',
        ),
        'db'=>array(
            'class'=>'system.db.CDbConnection',
            'connectionString'=>'sqlite:/wwwroot/blog/protected/data/blog.db',
            'schemaCachingDuration'=>3600,
        ),
    ),
);
2. 在框架中的使用
Yii::app()->dbcache ->set($key, $value, $expire);
Yii::app()->dbcache ->get($key);
三. 文件缓存的使用
1. 编辑配置文件config/main.php 添加dbcache配置
// application components
'components'=>array(
       'filecache'=>array(
         'class'=>'system.caching.CFileCache',    
         //我们使用CFileCache实现缓存,缓存文件存放在runtime文件夹中
         'directoryLevel'=>'2',   //缓存文件的目录深度
       ),
),
2. 在框架中的使用
Yii::app()->filecache ->set($key, $value, $expire);
Yii::app()->filecache ->get($key);
四.    APC使用
1.    编辑配置文件config/main.php 添加dbcache配置
'components'=>array(
       'class' => 'system.caching.CApcCache',
),
 

FROM:http://php300.sinaapp.com/archiver_18.html

分享到:
评论

相关推荐

    PHP分享一个功能强大的yii框架的分类树扩展

    这个分享的扩展是针对Yii框架的一个增强,提供更便捷的方式来管理和展示分类树。 首先,我们要理解什么是分类树。分类树是一种树形结构,每个节点代表一个分类,可以有零个或多个子节点。在Web应用中,用户可以通过...

    yii框架1.1.8

    下面将详细介绍Yii框架1.1.8版的关键知识点。 1. **MVC架构**:Yii采用模型-视图-控制器(MVC)设计模式,分离业务逻辑、数据展示和用户交互,使得代码结构清晰,易于维护。在1.1.8中,这一架构得到进一步优化,...

    yii框架源代码

    快速,安全,专业的 PHP 框架 Yii 是一个高性能的,适用于开发 WEB2.0...Yii 自带了丰富的功能 ,包括 MVC,DAO/ActiveRecord,I18N/L10N,缓存,身份验证和基于角色的访问控制,脚手架,测试等,可显著缩短开发时间。

    yii1.1.10 开发包(包含yii权威指南以及yii博客例子讲解)

    博客例子讲解则是一个实际的应用示例,它展示了如何使用Yii框架搭建一个博客系统。通过分析和学习这个例子,你可以了解到如何设计数据库模型,创建控制器、视图和模型,以及如何实现用户登录、文章发布、评论等功能...

    yii-1.1.13源码

    Yii框架是PHP开发中的一个高性能、基于组件的MVC(模型-视图-控制器)框架,专为开发者构建现代Web应用程序而设计。标题中的“yii-1.1.13源码”指的是Yii框架的1.1.13版本的原始代码,这个版本在PHP社区中广受欢迎,...

    php mvc 框架 Yii 中文教程

    1. **高性能**:Yii 使用缓存机制(如页面缓存、数据缓存)以及优化的代码生成,确保处理高流量网站时的高效运行。 2. **安全**:内置了防止 SQL 注入、跨站脚本攻击(XSS)的安全机制,以及身份认证和访问控制,...

    Yii 1.1.17.467 php框架

    一、Yii框架概述 Yii,发音为“易”,在中国文化中意为“简单易用”。它是一个基于组件、高性能的PHP框架,用于开发Web 2.0应用程序。Yii的设计理念是快速、安全和专业,它采用了模型-视图-控制器(MVC)架构模式,...

    在Mac OS上搭建PHP的Yii框架及相关测试环境

    在Mac OS上搭建PHP的Yii框架以及相关的测试环境是一项常见的开发者任务,特别是对于那些使用Yii进行Web应用开发的用户。Yii是一款高效的、基于组件的PHP框架,它支持快速开发、可伸缩性,并且提供了丰富的功能,如...

    Yii概念整理_珍贵资料

    - **Gii工具**:Gii是Yii框架自带的一个代码生成工具,能够大大加快开发进度。其中,最常用的特性之一就是CRUD(Create, Read, Update, Delete)生成器,它可以根据数据库表自动生成相应的模型、视图以及控制器代码...

    Yii2一个现代的PHP开发框架为专业的Web开发设计

    Yii2是Yii框架的最新版本,提供了一系列先进的特性和工具,以满足现代Web开发的需求。 1. MVC架构:Yii2的核心是MVC模式,将业务逻辑(模型)、用户界面(视图)和数据呈现(控制器)分离,使开发者能更清晰地组织...

    Yii Blog Book

    #### 一、Yii框架简介与安装 - **框架概念**:Yii是一个高性能的PHP框架,专为快速开发安全且健壮的Web应用程序而设计。它支持敏捷开发和测试驱动开发,并且具有丰富的功能集,如缓存支持、错误处理、认证管理等。 ...

    yii2.0框架

    挺好的一个框架,免验证和免登录验证,Yii 是一个 高性能 的,适用于...Yii 自带了 丰富的功能,包括 MVC,DAO/ActiveRecord,I18N/L10N,缓存,身份验证和基于角色的访问控制,脚手架,测试等,可显著缩短开发时间。

    yii 三级联动 省市区

    10. **前端框架**:虽然 Yii 自带了一些前端支持,但现代项目可能还会结合使用 Vue.js, React 或 Angular 等前端框架,以实现更复杂的交互效果和优化用户体验。 在 citydemo 文件中,包含了实现这个功能的代码和...

    yii-docs-1.1.7.r3135.zip

    yii-docs-1.1.7.r3135 包含了完整的框架文档,涵盖了所有类、方法和概念,为开发者提供详尽的学习和参考材料。 10. 社区支持: Yii 拥有活跃的开发者社区,提供论坛、邮件列表和在线聊天室,方便开发者交流问题、...

    最新Yii2.0手册

    它是Yii框架的最新版本,提供了一系列优化和改进,旨在提高开发效率和应用性能。此"最新Yii2.0手册"是开发者整理的英文版资源,对于学习和掌握Yii2.0框架具有极高的参考价值。 ### 1. 框架结构 Yii2.0采用了模块化...

    yiiframework 中文 手册

    Yii 自带了调试工具条和性能分析工具,可以帮助开发者找到性能瓶颈,进行优化。此外,Yii 还支持配置生产环境和开发环境,以保证线上应用的稳定性和安全性。 这个中文手册详尽地介绍了 Yii Framework 的各个方面,...

    Yii中文手册,安装教程,结构解析

    Yii 框架中文手册是针对初学者的入门教程,旨在帮助他们理解并开始使用 Yii 进行 Web 开发。Yii 是一个高度优化的 PHP 框架,以组件为基础,设计用于快速构建大型 Web 应用。其名称“Yii”意味着简单、高效和可扩展...

    深入理解YII2.0

    深入理解YII2.0 Yii 是一个 高性能 的,适用于开发 WEB 2.0 应用的 ...Yii 自带了 丰富的功能,包括 MVC,DAO/ActiveRecord,I18N/L10N,缓存,身份验证和基于角色的访问控制,脚手架,测试等,可显著缩短开发时间。

    yiiframework.com.ua:乌克兰社区 Yii 框架(任务跟踪器和变更日志)

    2. **性能优化**:Yii 以其高性能著称,它使用缓存机制、数据库查询优化、自动代码生成等技术,以确保应用运行快速且高效。 3. **组件化**:Yii 的组件化设计允许开发者重用代码,通过组合不同的组件来构建复杂的...

    Yii2.0 PHP框架

    Yii2.0作为Yii框架的最新版本,它在设计上遵循了现代Web开发的最佳实践,提供了丰富的特性,如MVC(模型-视图-控制器)、主动记录(Active Record)、I18N和L10N(国际化和本地化)、缓存机制、安全性和测试等,以...

Global site tag (gtag.js) - Google Analytics