快速业务通道

ZendFramework中使用Cache缓存机制

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22

如下图所示建立工程:

代码如下:

1.<?php
2.
3./**
4. * IndexController - The default controller class
5. *
6. * @author
7. * @version
8. */
9.
10.require_once ''Zend/Controller/Action.php'';
11.require_once ''Zend/Cache.php'';
12.require_once ''Zend/Registry.php'';
13.require_once ''Zend/Db.php'';
14.require_once ''Zend/Db/Table.php'';;
15.
16.class IndexController extends Zend_Controller_Action
17.{
18. public function init()
19. {
20. $params = array (''host'' => ''localhost'',
21. ''username'' => ''root'',
22. ''password'' => ''root'',
23. ''dbname'' => ''mysql'');
24. $db = Zend_Db::factory(''Pdo_Mysql'', $params);
25. Zend_Db_Table::setDefaultAdapter($db);
26. Zend_Registry::set(''db'', $db);
27. }
28.
29. public function indexAction()
30. {
31. $frontendOptions = array(
32. ''lifeTime'' => 7200, // 两小时的缓存生命期
33. ''automatic_serialization'' => true
34. );
35.
36. $backendOptions = array(
37. ''cache_dir'' => ''C:/tmp/'' // 放缓存文件的目录
38. );
39.
40. // 取得一个Zend_Cache_Core 对象
41. $cache = Zend_Cache::factory(''Core'',
42. ''File'',
43. $frontendOptions,
44. $backendOptions);
45. if(!$result = $cache->load(''myresult'')) {
46. // 缓存不命中;连接到数据库
47. $dbAdapter = Zend_Registry::get(''db'');
48. $result = $dbAdapter->query(''SELECT * FROM user'')->fetchAll();
49. $cache->save($result, ''myresult'');
50. echo "This one is from database!<br/>";
51. } else {
52. // cache hit! shout so that we know
53. echo "This one is from cache!<br/>";
54. }
55. print_r($result);
56. }
57.}

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号