smarty缓存问题

关于PHP的SMARTY缓存我有个疑问,希望各位高手能给我解答下:比如,我有一个数据库,里面有一个新闻列表假如,我没有设置缓存,是不是每次访问,都要访问数据库(这个我知道... 关于PHP的SMARTY缓存我有个疑问,希望各位高手能给我解答下:
比如,我有一个数据库,里面有一个新闻列表
假如,我没有设置缓存,是不是每次访问,都要访问数据库(这个我知道)。
如果设置了缓存,在访问页面的时候,首先判断是否存在缓存文件,如果存在直接读取缓存内容(但是读取缓存文件内容时难道就不用读取数据库了么?)。
展开
 我来答
womanv
2010-05-07 · TA获得超过818个赞
知道小有建树答主
回答量:898
采纳率:0%
帮助的人:1050万
展开全部
Smarty目前使用的是生成cache文件,你可以指定缓存时间,在这个时间内都是直接返回相应的cache文件,是生成好的静态数据。
很多人不会写smarty缓存代码,给你一个简单的示例

$cache_id = $_GET['id']; //当一个模板有多个缓存时就有用了。。
if (!$smarty->is_cached('show.tpl', $cache_id)) {
//去数据库取数据,这里是正确的位置,写在外面不管用的。。
}

$smarty->display('show.tpl', $cache_id);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
feiyang33520
2010-05-10 · TA获得超过356个赞
知道小有建树答主
回答量:357
采纳率:0%
帮助的人:281万
展开全部
所谓的缓存,其他就是生成了相应的静态页面,当有访问请求时,直接访问的是静态页面。如果互动的页面,可以页面部分缓存或者有新纪录时清一下缓存
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
czkindy
2010-05-06 · TA获得超过818个赞
知道小有建树答主
回答量:503
采纳率:0%
帮助的人:512万
展开全部
其实是这样的。因为有些东西,比如你说的新闻。
比如5月4号的新闻,你设置了缓存以后,它就被保存在缓存里了,以静态页面的形式。假如别人再调用的话就会直接从缓存里面读取。因为它是静态页面,不再读取数据库,因此速度要快很多。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式