Zend缓存被划分为两个模块:前端(frontend)和后端(backend)
前端(frontend)用于实现不同粗粒程度的缓存.按照粗粒程度有:
对页面输出缓存,可以指定缓存开始位置,程序执行完自动结束缓存,如果缓存命中则直接输出缓存并终止程序运行(die).
可以根据页面参数(get,post,cookie)做不同内容缓存
输出缓存,可以指定程序输出中缓存的开始位置和结束位置,来缓存这之间的任何输出内容
提供了对类函数调用的输出缓存
提供了对函数调用的输出缓存
后端(backend)用于完成对缓存数据的持久化即缓存数据的存储.按照不同的存储方式有:
- file(文件存储)
- Memcached缓存
- APC存储
- sqlite(数据库存储)
前端对象利用后端对象的存储能力来完成缓存功能,后端对象只接受来自前端的字符串类型的缓存数据(非
字符串类型的序列化后被缓存),对于客户代码只操作前端对象的接口,后端对象是透明的.
Zend_Cache类提供了factory静态方法根据参数来生成前端和后端对象,并设置前端对象对后端对象的引用
,并返回前端对象供客户代码使用.