php 缓存 应用程序

我要写一个应用程序(或者说是网站),一般什么都读取数据库效率不高,因此想写个缓存,那么,我是应该把那些东西都缓存得很细吗?比如主页,一般可以将导航类别缓存,友情链接缓存,... 我要写一个应用程序(或者说是网站),一般什么都读取数据库效率不高,因此想写个缓存,那么,我是应该把那些东西都缓存得很细吗?比如主页,一般可以将 导航类别缓存,友情链接缓存,还有一个写在主页上的显示的东西缓存,我该只用一个页面缓存它,比如
cache_index.php中的数据是 return array('nav'=>array(1,2,3),'link'=array(1,2,3),'显示的信息'=>array(a,b,c,d,e,f)),
在index.php 的时候include进来,还是缓存多几个页面,一个页面是不怎么更新的a.php,像导航,友情链接,还有一个页面是显示信息的b.php,经常更新的,在index.php 中 include进a和b.php?哪个效率高?

很明显如果缓存2个页面的话,其他子页面也可以用导航,友情链接页面,而只用一个缓存页面的话,基本上只有index.php能用,但又好像显得分得太细了?

该怎么权衡?要考虑性能!
展开
 我来答
yiicode
2012-03-12
知道答主
回答量:8
采纳率:0%
帮助的人:8.3万
展开全部
给个简单的建议,可以复用的页面还是分开缓存,这样在多个页面都可以使用。但是还是要可复用的粗粒度缓存,因为php的require是比较高的。
比如一般的大型网站都会有同时存在数据缓存和页面缓存两级缓存。而你现在刚开始做,我建议先新增数据缓存,如果效果不好,在增加页面缓存。两级缓存同时使用效果肯定可以好很多。
追问
数据缓存是指 return array()那种页面?
页面缓存是指用ob_start()那种将缓冲里面的东西生成的html或php页面吗?
轻松又清澈的纯真A
2012-03-13 · TA获得超过320个赞
知道小有建树答主
回答量:323
采纳率:100%
帮助的人:364万
展开全部
include php 文件并执行php代码的模式效率要比file_get_content 低,因为 file_get_content 只读取内容不执行这个文件的内容,所以建议你 把要缓存的数据 serialize 保存到一个文件里面,然后 unserialize(file_get_content($file_name)) 还原之前保存的数据。

你可以用 include 方式和 file_get_content 方式循环跑几千次测试下它们分别消耗的时间。 (include文件会缓存,建议测试时候每次加载的文件名都不一样)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mingxinjs
2012-03-10 · 超过23用户采纳过TA的回答
知道答主
回答量:69
采纳率:0%
帮助的人:71.7万
展开全部
总的来说,缓存方案很多,都是为了通过分布式存储减轻数据库方面的压力.你所说的两种缓存方法, 最后实测的效果不会相差太大, 可在实现的便捷性和效率之间找到一个较佳的平衡点.可以先进行实施, 在实施和测试的过程中你一定会有新的收获.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式