数据缓存(ZendCache)

数据缓存(ZendCache)

ID:39449735

大小:231.00 KB

页数:12页

时间:2019-07-03

数据缓存(ZendCache)_第1页
数据缓存(ZendCache)_第2页
数据缓存(ZendCache)_第3页
数据缓存(ZendCache)_第4页
数据缓存(ZendCache)_第5页
资源描述:

《数据缓存(ZendCache)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第14章数据缓存(Zend_Cache)缓存是指将一些数据存放在固定的载体(如Session、Cookie、文件或者数据库)中,在需要时再读出的这样一个过程。使用ZendFramework的Cache组件可以实现对于任何数据的缓存。在Zend_Cache中,缓存由前端与后端相互配合来完成整个缓存过程。本章将介绍,如何使用Zend_Cache组件来实现数据的缓存。14.1数据缓存简介数据的缓存属于数据存储的一种。使用Zend_Cache组件中的各个子类及方法可以实现数据缓存的过程。在ZendFramework中缓存的数据由前端操作,然后通过后端的适配器(如File、Sqlite

2、、Memcache等)和一个灵活的标识符系统(IDs)以及标记系统(Tags)来存储缓存记录。数据采用这样存储方法的好处在于便于删除特定类型的记录(如删除某一特定标记或者特定ID的记录)。在Zend_Catch中,模块的核心(Zend_Cache_Core)是通用的,同时也很灵活并便于配置。为了完成特定的目的,只需要使用那些实现对Zend_Cache_Core继承的前端(如Output、File、Function以及Class)即可。14.2缓存实现原理实现对数据的缓存,通常包括以下几步。1.创建一个Zend_Cache实例2.向缓存中写入数据3.清除缓存数据14.3Zend

3、_Cache前端在本章引言中已经介绍了,数据缓存的过程需要前端与后端相互配合才能完成。而Zend_Cache前端在整个数据缓存的过程中起到了缓存操作的作用。其中Zend_Cache_Core是前端的一个核心类,另外的类都是为了实现特定的目的而对该类的继承。本节将分别就这些Zend_Cache前端类做介绍。14.3.1Zend_Cache_CoreZend_Cache_Core类是一个非常特别的类,该类是Zend_Cache前端模块的核心。同时该类又是通用的Zend_Cache缓存前端,其他的前端类都是对该类的继承。基于这个原因,该类所定义的方法与配置也可以在其他的Zend_C

4、aceh前端类中使用。Zend_Cache_Core类的设置的值及其意义,14.3.2Zend_Cache_Frontend_OutputZend_Cache_Frontend_Output是一个专门用于捕获输出内容的缓存前端。该前端将利用PHP中的输出缓存来捕获位于该类的start()方法与end()方法之间的所有内容。14.3.3Zend_Cache_Frontend_Function该方法的各参数及其意义如下所示。$name$parameters$tags$specificLifetime使用该方法有两个作用:第一次使用该方法将把指定函数结果进行缓存;第二次以相同的参数

5、使用该方法即读取出缓存中对应的函数结果(笔者注:这种用法相当诡异!)。使用Zend_Cache_Frontend_Function类对于缓存那些有输出内容,或者有返回值的函数来说是相当方便的。14.3.4Zend_Cache_Frontend_Class使用Zend_Cache_Frontend_Class类可以缓存指定对象中的方法的调用结果。该类的使用过程与其他类有所不同,共分为以下几个步骤。(1)创建一个自定义类(如果是引用系统统类,则省略此步)。(2)设置factory()方法的$frontendOptions数组,并定义。(3)使用Zend_Cache的factory

6、()方法来创建Cache实例。(4)以Cache实例执行test类中定义的某个方法。首次执行方法将缓存相应内容,第二次以相同参数执行方法则为取出上次缓存内容。14.3.5Zend_Cache_Frontend_FileZend_Cache_Frontend_File类是用于将文件内容进行缓存的一个前端类,该类通常被主文件调用。例如,可以将配置文件中的信息通过该类进行缓存,这样当需要使用配置时就不用每次打开配置文件了。该类与Zend_Cache_Frontend_Core类基本相同,不同之处在于使用Zend_Cache_Frontend_File类的factory()方法实例化

7、对象时需要先定义$frontendOptions数组,并设置array('master_file'=>'filename')。其中的filename即为指定的主文件的文件名。14.4Zend_Cache后端上一节介绍了Zend_Cache前端,本节继续介绍Zend_Cache的后端。Zend_Cache的后端主要负责如何对缓存数据进行保存。ZendFramework1.02版中的Zend_Cache_Backend包括Apc、File、Memcached、Sqlite和ZendPlatform等。本节将

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。