[免费注册]
  • 腾讯QQ
  • 人人网
  • 新浪微博
  • 腾讯微博
BUG反馈 | 广告合作 | 网页游戏 | 帮助中心
站内公告:
首页 解决方案 项目开发 缓存技术 PHP缓存详谈

PHP缓存详谈

分享到:
dsfsdf 离线 时间: 2011-03-17 16:03 阅读(487) 评论(0)

大家会问什么是缓存!能干什么!其实缓存相当于内存。保存一段时间!

缓存就是我们执行东西时候不用在执行数据库了。直接执行我们的缓存就OK了

一般来说,缓存的目的是把数据放在一个地方让访问的更 快点,毫无疑问,内存是最快的,但是,几百M的数据能往内存放么?这不现实,当然,有的时候临时放如服务器缓存,如ob_start()这个缓存页面开启 的话在发送文件头之前页面内容都被缓存在内存中,知道等页面输出自动清楚或者等待ob_get_contents的返回,或者被ob_end_clean 显示的清除,这在静态页面的生成中能很好的利用,在模板中能得到很好的体现,我的这篇文章深入的讨论了:谈PHP生成静态页面,这是一种方式,但这是临时 性的,不是解决我们问题的好方法.
可以这么说:缓存一般分为页面缓存和数据缓存。ADODB缓存是数据缓存.smarty是页面缓存。 
adodb缓存实现:

include(./adodb/adodb.inc.php);
$ADODB_CACHE_DIR='tmp';
$db=NewADOConnect('mysql');
$db->connect('localhost','root','123456','mysql');
$sql="select * from user";
$db->cacheexecute(300,$sql);

这样在TMP目录下生成了缓存!(缓存文件是序列化的数据。) 当下次在执行的时候,我们直接从缓存里面读取数据。
SMARTY缓存实现:
require('./smarty/Smarty.class.php');
$smarty = new Smarty()
$smarty->caching = true;
if(!$smarty->is_cached('index.tpl'))
// No cache available, do variable assignments here.
$contents = get_database_contents();
$smarty->assign($contents);
}
$smarty->display('index.tpl');

这个首先判断是否有这个缓存文件!没有直接链接数据库!
有的话!执行DISPLAY。就是读取缓存。大家看到上面的2个例子!对缓存有很大的理解了吧!

网友评论: 共有0条评论

我来评论

guest

登录 (请登录发言,并遵守相关规定
小提示:
• 运行html请点击源码添加
• 添加完毕后加上<br />
• 显示html直接复制黏贴
• 高亮代码请点击插入代码

小贴士:

1. 请各位网友在回复的时候不为了回复而回复,尽量发一些有质量的回复内容。

2. 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。

3. 请勿到处挖坑绊人、招贴广告。即占空间让人厌烦,又没人会搭理,于人于己都无利。如果您发现自己的回复不见了,请参考以上3条。

设为首页 | 加入收藏 | 关于我们 | 著作权声明 | 合作信息 | 麦琪开源PHP框架 IT-知识库 Copyright 2010 - 2011 ITZSK Corporation,ALL Rights Reserved. 版权所有
内存使用:1,269.90KB 执行速度:0.02044seconds