第14章__数据缓存(Zend_Cache).pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第14章__数据缓存(Zend_Cache)

第14章 数据缓存(Zend_Cache) 缓存是指将一些数据存放在固定的载体(如Session、Cookie、文件或者数据库)中,在需要时再读出的这样一个过程。使用Zend Framework的Cache组件可以实现对于任何数据的缓存。在Zend_Cache中,缓存由前端与后端相互配合来完成整个缓存过程。本章将介绍,如何使用Zend_Cache组件来实现数据的缓存。 14.1 数据缓存简介 数据的缓存属于数据存储的一种。使用Zend_Cache组件中的各个子类及方法可以实现数据缓存的过程。 在Zend Framework中缓存的数据由前端操作,然后通过后端的适配器(如File、Sqlite、Memcache等)和一个灵活的标识符系统(IDs)以及标记系统(Tags)来存储缓存记录。数据采用这样存储方法的好处在于便于删除特定类型的记录(如删除某一特定标记或者特定ID的记录)。 在Zend_Catch中,模块的核心(Zend_Cache_Core)是通用的,同时也很灵活并便于配置。为了完成特定的目的,只需要使用那些实现对Zend_Cache_Core继承的前端(如Output、File、Function以及Class)即可。 14.2 缓存实现原理 实现对数据的缓存,通常包括以下几步。 1.创建一个Zend_Cache实例 2.向缓存中写入数据 3.清除缓存数据 14.3 Zend_Cache前端 在本章引言中已经介绍了,数据缓存的过程需要前端与后端相互配合才能完成。而Zend_Cache前端在整个数据缓存的过程中起到了缓存操作的作用。其中Zend_Cache_Core是前端的一个核心类,另外的类都是为了实现特定的目的而对该类的继承。本节将分别就这些Zend_Cache前端类做介绍。 14.3.1 Zend_Cache_Core Zend_Cache_Core类是一个非常特别的类,该类是Zend_Cache前端模块的核心。同时该类又是通用的Zend_Cache缓存前端,其他的前端类都是对该类的继承。基于这个原因,该类所定义的方法与配置也可以在其他的Zend_Caceh前端类中使用。Zend_Cache_Core类的设置的值及其意义, 14.3.2 Zend_Cache_Frontend_Output Zend_Cache_Frontend_Output是一个专门用于捕获输出内容的缓存前端。该前端将利用PHP中的输出缓存来捕获位于该类的start()方法与end()方法之间的所有内容。 14.3.3 Zend_Cache_Frontend_Function 该方法的各参数及其意义如下所示。 $name $parameters $tags $specificLifetime 使用该方法有两个作用:第一次使用该方法将把指定函数结果进行缓存;第二次以相同的参数使用该方法即读取出缓存中对应的函数结果(笔者注:这种用法相当诡异!)。 使用Zend_Cache_Frontend_Function类对于缓存那些有输出内容,或者有返回值的函数来说是相当方便的。 14.3.4 Zend_Cache_Frontend_Class 使用Zend_Cache_Frontend_Class类可以缓存指定对象中的方法的调用结果。该类的使用过程与其他类有所不同,共分为以下几个步骤。 (1)创建一个自定义类(如果是引用系统统类,则省略此步)。 (2)设置factory()方法的$frontendOptions数组,并定义。 (3)使用Zend_Cache的factory()方法来创建Cache实例。 (4)以Cache实例执行test类中定义的某个方法。首次执行方法将缓存相应内容,第二次以相同参数执行方法则为取出上次缓存内容。 14.3.5 Zend_Cache_Frontend_File Zend_Cache_Frontend_File类是用于将文件内容进行缓存的一个前端类,该类通常被主文件调用。例如,可以将配置文件中的信息通过该类进行缓存,这样当需要使用配置时就不用每次打开配置文件了。 该类与Zend_Cache_Frontend_Core类基本相同,不同之处在于使用Zend_Cache_Frontend_File类的factory()方法实例化对象时需要先定义$frontendOptions数组,并设置array(master_file=filename)。其中的filename即为指定的主文件的文件名。 14.4 Zend_Cache后端 上一节介绍了Zend_Cache前端,本节继续介绍Zend_Cache的后端。Zend_Cache的后端主要负责如何对缓存数据进行保存。Zend Framework1.02版中的Zend_Cac

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档