smarty缓存问题
关于PHP的SMARTY缓存我有个疑问,希望各位高手能给我解答下:比如,我有一个数据库,里面有一个新闻列表假如,我没有设置缓存,是不是每次访问,都要访问数据库(这个我知道...
关于PHP的SMARTY缓存我有个疑问,希望各位高手能给我解答下:
比如,我有一个数据库,里面有一个新闻列表
假如,我没有设置缓存,是不是每次访问,都要访问数据库(这个我知道)。
如果设置了缓存,在访问页面的时候,首先判断是否存在缓存文件,如果存在直接读取缓存内容(但是读取缓存文件内容时难道就不用读取数据库了么?)。 展开
比如,我有一个数据库,里面有一个新闻列表
假如,我没有设置缓存,是不是每次访问,都要访问数据库(这个我知道)。
如果设置了缓存,在访问页面的时候,首先判断是否存在缓存文件,如果存在直接读取缓存内容(但是读取缓存文件内容时难道就不用读取数据库了么?)。 展开
3个回答
展开全部
Smarty目前使用的是生成cache文件,你可以指定缓存时间,在这个时间内都是直接返回相应的cache文件,是生成好的静态数据。
很多人不会写smarty缓存代码,给你一个简单的示例
$cache_id = $_GET['id']; //当一个模板有多个缓存时就有用了。。
if (!$smarty->is_cached('show.tpl', $cache_id)) {
//去数据库取数据,这里是正确的位置,写在外面不管用的。。
}
$smarty->display('show.tpl', $cache_id);
很多人不会写smarty缓存代码,给你一个简单的示例
$cache_id = $_GET['id']; //当一个模板有多个缓存时就有用了。。
if (!$smarty->is_cached('show.tpl', $cache_id)) {
//去数据库取数据,这里是正确的位置,写在外面不管用的。。
}
$smarty->display('show.tpl', $cache_id);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
所谓的缓存,其他就是生成了相应的静态页面,当有访问请求时,直接访问的是静态页面。如果互动的页面,可以页面部分缓存或者有新纪录时清一下缓存
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实是这样的。因为有些东西,比如你说的新闻。
比如5月4号的新闻,你设置了缓存以后,它就被保存在缓存里了,以静态页面的形式。假如别人再调用的话就会直接从缓存里面读取。因为它是静态页面,不再读取数据库,因此速度要快很多。
比如5月4号的新闻,你设置了缓存以后,它就被保存在缓存里了,以静态页面的形式。假如别人再调用的话就会直接从缓存里面读取。因为它是静态页面,不再读取数据库,因此速度要快很多。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询