关于yii缓存的疑惑,那几种缓存类型都是等效的吗?

目前yii里面可用的有数据库缓存、文件缓存、memcache缓存等。。。请问这些缓存都是等效的吗?比如说某个变量或者某个页面都可以在这几种媒介里缓存吗?

不理解你的等效的定义。从使用接口上看,它们都是相同的。你可以在app config里任何替换不同的cache媒介,而不用担心对你的代码有影响。

从性能上看,显然是有区别的。你应该根据你的服务器资源进行合理分配(例如对于基于内存的缓存,如APC, Memcache,你只用它来存储数据量小但经常使用的数据,如schema cache;你可以用file cache或db cache来存储大量的数据,如页面或片段缓存)。

明白了,他们的api接口都是一致的,只不过适用类型不同。那么请问如果我想把频繁使用的变量放memcache缓存,想把页面放在文件缓存该如何处理?yii可以同时支持几种缓存类型吗?

你可以在app config里声明多个缓存组件(用不同的ID)。使用时,根据需要在不同地方用不同的cacheID值就可以了。

最近翻译了 Yii 缓存那个章节,发现确实在缓存那个部分做的很不错, 也正好学习了一下, Qiang加油啊。

多谢了,我茅塞顿开