4.1 简介

Zend_Cache 提供了一个缓存任何数据的一般方法. 在Zend Framework中缓存由前端操作,同时通过后端适配器(File, Sqlite, Memcache...)和
一个灵活的IDs和Tags系统(标识符和标记系统)存储缓存纪录.
使用此方法,易于删除特定类型的纪录(例如:"删除所有标记为tag的纪录") 模块(Zend_Cache_Core) 的核心是通用,灵活和可配置.
对于特定的需要,为了便捷,这里有一些继承自Zend_Cache_Core的前端: Output, File, Function 和 Class.

例 4.1. 调用 Zend_Cache::factory()取得一个前端

Zend_Cache::factory() 实例化正确的对象并把他们捆绑到一起.
在这第一个例子中我们将把 Core 前端和 File 后端一起使用. 
<?php
require_once 'Zend/Cache.php';$frontendOptions = array('lifeTime' => 7200, // cache lifetime of 2 hours'automatic_serialization' => true
);$backendOptions = array('cache_dir' => './tmp/' // Directory where to put the cache files   缓存文件的路径
);// 取得一个Zend_Cache_Core 对象
$cache = Zend_Cache::factory('Core', 'File', $frontendOptions, $backendOptions);?>


例 4.2. Caching a database query result

现在有了一个前端,可用缓存任何类型的数据了(开了序列化'serialization').
例如,能够缓存从昂贵的数据库查询中缓存一个结果.
结果被缓存后,不再需要连接到数据库;数据直接在缓存中取回和反序列化. 
<?php// $cache 在先前的例子中已经初始化了// 查看一个缓存是否存在:
if(!$result = $cache->load('myresult')) {// 缓存不命中;连接到数据库$db = Zend_Db::factory( [...] );$result = $db->fetchAll('SELECT * FROM huge_table');$cache->save($result, 'myresult');} else {// cache hit! shout so that we knowecho "This one is from cache!\n\n";}print_r($result);?>

例 4.3. 用Zend_Cache 输出前端缓存输出

通过加入条件逻辑,我们'mark up'(标记)那些希望缓存输出的段(sections),在start() 和
end()方法间封装这些section(这类似第一个例子,并且是缓存的核心策略). 在内部,像往常一样输出你的数据,当执行到end()方法时,所有之前的输出都被缓存.
在下一次运行时,整个段(end()方法调用前的代码)将被跳过执行,
直接从Cache中取回数据(只要缓存纪录是有效的). 
<?php$frontendOptions = array('lifeTime' => 30,                  // cache lifetime of half a minute'automatic_serialization' => false  // this is default anyway
);
// 翻译时实验系统为Windows,请使用Windows的读者修改cacheDir的路径为实际的路径
$backendOptions = array('cache_dir' => './tmp/');$cache = Zend_Cache::factory('Output', 'File', $frontendOptions, $backendOptions);// 传递一个唯一标识符给start()方法
if(!$cache->start('mypage')) {// output as usual:echo 'Hello world! ';echo 'This is cached ('.time().') ';$cache->end(); // the output is saved and sent to the browser
}echo 'This is never cached ('.time().').';?>  


http://www.cnblogs.com/terryglp/articles/1959483.html

http://wenku.baidu.com/link?url=X6LBO3khljOx5OD4aCcomCbw_Ixepqtnt5XNmKeVWr1iB84CK-dd-aSuRdCLS93QHbKMfQ0-dzhN6cXBc4l9kgup7cyIhHyoZNC0Hg-VI1O

7.Zeng_Cache(1) --- 简介相关推荐

  1. etcd 笔记(01)— etcd 简介、特点、应用场景、常用术语、分布式 CAP 理论、分布式原理

    1. etcd 简介 etcd 官网定义: A highly-available key value store for shared configuration and service discov ...

  2. Docker学习(一)-----Docker简介与安装

    一.Docker介绍 1.1什么是docker Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源 Docker可以让开发者打包他们的应用以及依赖包到一个轻量级,可移植 ...

  3. 【Spring】框架简介

    [Spring]框架简介 Spring是什么 Spring是分层的Java SE/EE应用full-stack轻量级开源框架,以IOC(Inverse Of Control:反转控制)和AOP(Asp ...

  4. TensorRT简介

    TensorRT 介绍 引用:https://arleyzhang.github.io/articles/7f4b25ce/ 1 简介 TensorRT是一个高性能的深度学习推理(Inference) ...

  5. 谷粒商城学习笔记——第一期:项目简介

    一.项目简介 1. 项目背景 市面上有5种常见的电商模式 B2B.B2C.C2B.C2C.O2O B2B 模式(Business to Business),是指商家和商家建立的商业关系.如阿里巴巴 B ...

  6. 通俗易懂的Go协程的引入及GMP模型简介

    本文根据Golang深入理解GPM模型加之自己的理解整理而来 Go协程的引入及GMP模型 一.协程的由来 1. 单进程操作系统 2. 多线程/多进程操作系统 3. 引入协程 二.golang对协程的处 ...

  7. Linux 交叉编译简介

    Linux 交叉编译简介 主机,目标,交叉编译器 主机与目标 编译器是将源代码转换为可执行代码的程序.像所有程序一样,编译器运行在特定类型的计算机上,输出的新程序也运行在特定类型的计算机上. 运行编译 ...

  8. TVM Operator Inventory (TOPI)简介

    TOPI简介 这是 TVM Operator Inventory (TOPI) 的介绍.TOPI 提供了比 TVM 具有更高抽象的 numpy 风格的,通用操作和调度.TOPI 如何在 TVM 中,编 ...

  9. 计算机视觉系列最新论文(附简介)

    计算机视觉系列最新论文(附简介) 目标检测 1. 综述:深度域适应目标检测标题:Deep Domain Adaptive Object Detection: a Survey作者:Wanyi Li, ...

  10. 2021年大数据ELK(二十三):Kibana简介

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. Kibana简介 通过上面的这张图就可以看到,Kibana可以用来展示丰富的图表. ...

最新文章

  1. oracle数据物理结构包括,Oracle数据库的物理结构介绍
  2. 【JetPack】kotlin-android-extensions 插件 ( 视图绑定简单用法 )
  3. 你也许不知道的Vuejs - 使用ES6快乐的玩耍
  4. 1094 The Largest Generation (25 分)【难度: 一般 / 树的遍历】
  5. Python 使用控制台运行带有相对路径的指令时,是以运行文件为基准,还是以控制台当前路径为基准
  6. python脚本如何编译_如何编译用于FORTRAN的Python脚本?
  7. 小兔的棋盘(HDU-2067)
  8. spring boot web_SpringBoot2.x入门:引入web模块
  9. 第二章 HTML5存储 JSON格式
  10. 一套简单的进销存管理系统源码
  11. IRQL深入解析--IRQL级别
  12. 今日头条2019春季暑期实习笔试题(非自己做)4-14
  13. cetnos下gotop安装和使用
  14. 如何在WordPress中添加免费实时聊天(简便方法)
  15. 辛星浅析linux中的accton命令和lastcomm命令
  16. 024《孤独是生命的礼物》读后感
  17. 计算机6种文件格式,中国象棋电脑PGN文件格式
  18. javaScript中的undefined
  19. 深入分析ClassLoader
  20. java edt,Java Swing 学问篇 - EDT

热门文章

  1. 大数据 数据平台方案评估
  2. 修改数据表DataTable某一列的类型和记录值
  3. 在C++里while语句的一个妙用
  4. 那些月入5000的人,凭什么比你更早买房买车?
  5. 骚操作!使用家里的服务器也能像用云服务器一样方便!
  6. R语言模拟:Bias Variance Trade-Off
  7. 听说你想做一份高级的可视化图表?
  8. angularJS 绑定操作
  9. VB.NET自动操作其他程序(4)--读取、设置其他软件listview控件的内容
  10. linux输出 /dev/null