zf缓存cache

Zend_Cache提供了一个缓存任何数据的一般方法。

zf中的缓存由前端操作,同时通过后端适配器(File,Sqlite,Memcache...)和一个灵活的IDs和Tags系统存储缓存记录

模块(Zend_Cache_Core)是核心通用的

 

Core前端与File后端

我们通常写在配置文件里

application.ini配置文件

实例化Zend_Cache

;cachemanager

resources.cachemanager.default.frontend.name = Core

resources.cachemanager.default.frontend.options.lifetime = 7200

resources.cachemanager.default.frontend.options.automatic_serialization = true

resources.cachemanager.default.backend.name = File

resources.cachemanager.default.backend.options.lifetime = 7200

resources.cachemanager.default.backend.options.cache_dir = "data/cache"

application.ini文件
;cachemanager
resources.cachemanager.default.frontend.name = Core	//选择Core前端 frontend.options为前端设置一个选项数组
resources.cachemanager.default.frontend.options.lifetime = 7200	//两个小时的缓存生命期
resources.cachemanager.default.frontend.options.automatic_serialization =true	//automatic_serialization打开自动序列化
resources.cachemanager.default.backend.name = File	//选择File后端 backend.options为后端设置一个选项数组
resources.cachemanager.default.backend.options.lifetime = 7200
resources.cachemanager.default.backend.options.cache_dir = APPLICATION_PATH."data/cache"	//放缓存文件的目录

其实现在已经实例化Zend_Cache,其实例应该是default。这里的实例化我叫隐形实例化,

这里我们怎么获取实例呢

<?php 
$cacheManager = new Zend_Controller_Action_Helper_Cache();
$default = $cacheManager->getCache("defalut");
?>

Zend_Controller_Action_Helper_Cache类文件包含Zend_Cache_Manager文件,这里的getCache('default')就是调用Zend_Cache_Manager类的方法

getCache("default")方法根据参数获得$default实例也就是Zend_Cache实例。$default就是Zend_Cache实例 Zend_Cache_Core类

这个类有一些关于缓存cache的操作方法,

比如生成缓存cache

<?php 
$default->save($data, $cacheKey, array(),2592000);	//$data是缓存的数据,$cacheKey是缓存的key值主要用来查看是否有缓存的,array()标记数组,是给缓存记录分类的一种方法,2592000是缓存过期时间。
?>

判断某个缓存是否存在

<?php 
$status = $default->test($cacheKey);		//$status boolean类型,false不存在,true存在
?>

查看某个缓存的数据信息

<?php 
$data = $default->load($cacheKey);	//load()方法 $data是缓存的数据信息
?>

删除特定的缓存

<?php 
$default->remove($cacheKey);	//根据$cacheKey来删除
?>

清除所有的缓存

<?php 
$default->clean(Zend_Cache::CLEANING_MODE_ALL);	//Zend_Cache::CLEANING_MODE_ALL
?>

清除过期的缓存

<?php 
$default->clean(Zend_Cache::CLEANING_MODE_OLD);	//Zend_Cache::CLEANING_MODE_OLD
?>

清除标记tagA和tagC的缓存项

<?php 
$default->clean(Zend_Cache::CLEANING_MODE_MATCHIING_TAG, array('tagA', 'tagC'));	//Zend_Cache::CLEANING_MODE_MATCHING_TAG
?>






 

 



 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值