4.2. 缓存原理
在Zend_Cache中有三个关键概念.一是用于标识缓存纪录的唯一标识符(一个字符串).二是'lifeTime'指令,正如例子中所见, 它定义了缓存纪录的生命期(超过该值,缓存纪录被销毁).第三个关键概念是条件执行,你的部分代码可用被跳过,以加速性能. 前端函数(例如. Zend_Cache_Core::get())在缓存不命中时返回false,这使用户能处理if(){ ... } 语句中的条件, 包含代码中他们所要缓存(或者跳过)的部分,最后是否必须保存这些你曾经生成的块(例如: Zend_Cache_Core::save()).4.2.1. Zend_Cache 工厂方法
4.2.2. 标记纪录
标记是给缓存纪录分类的一种方法.当你使用save()方法保存一个缓存时,你可以给该缓存纪录设置一个或多个标记, 多个标记以数组形式组织在一起 此后你不再需要该缓存纪录使,你可以清除所有指定标记的缓存纪录. <?php $cache->save($huge_data, 'myUniqueID', array('tagA', 'tagB', 'tagC')); ?>4.2.3. 缓存清理 删除特定id的Cache纪录,使用remove()方法:
<?php $cache->remove('idToRemove'); ?>在单个操作中删除多个Cache纪录,可以使用clean()方法.例如,删除所有的缓存纪录:
<?php // 清除所有缓存纪录 $cache->clean(Zend_Cache::CLEANING_MODE_ALL); // 仅清除过期的 $cache->clean(Zend_Cache::CLEANING_MODE_OLD); ?>如果你想删除标记为’tagA’和’tagC’的缓存项:
<?php $cache->clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG, array('tagA', 'tagC')); ?> 可用的清除模式有:CLEANING_MODE_ALL, CLEANING_MODE_OLD, CLEANING_MODE_MATCHING_TAG 和 CLEANING_MODE_NOT_MATCHING_TAG. 后面的,正如它名称所暗示的,在清除操作中组合了一个标记数组,对其中的每个元素作处理.