概述
从之前的文章Yii源码阅读笔记 - 路由解析 及Yii源码阅读笔记 - Model层实现可以看到Yii框架对于解析好的路由规则及数据表的schema都会根据条件尝试读写缓存 来提高应用性能。
但缓存组件并非核心组件,需要额外的配置,默认ID为cache
,如果不使用该ID,那么就得注意同时配置好框架中使用缓存的组件。
恰当地使用缓存组件,能明显地提高应用的性能。
针对不同的缓存后端(backend),Yii框架提供了多种缓存组件,如文件缓存(CFileCache)、Memcached缓存(CMemCache)、Redis缓存(CRedisCache)等。这些缓存组件(除CDummyCache外,CDummyCache并不是一个有效的缓存组件)均直接继承自抽象类CCache(见文件yii/framework/caching/CCache.php
)。
下面以使用Memcached缓存为例,分析Yii框架缓存组件的实现。
分析
类CMemcache
所在的整个继承树(CMemcache
-> CCache
-> CApplicationComponent …