素材牛VIP会员
Thinkphp3.2中怎样实现局部不缓存?
 遗***迹  分类:ThinkPHP  人气:1215  回帖:3  发布于6年前 收藏

开启了静态缓存后,没找到局部不缓存的方法。
模板中好像没有<nocache>的标签。
请问各位是怎样处理的?

我的需要是:页面中大部分内容是一天更新一次的,所以我希望实现页面的静态缓存。
但其中有些地方不能使用缓存,比如用户登录情况,文件下面的评论数,这些是需要根据数据库的变化随时更新的。

楼下回答中提到用ajax,这当然可以说实现未刷新的时候页面的更新和数据库的更新,但页面刷新后如果我读的是缓存,那刚才的更新就失效了。
像smarty模板中就可以通过nocache标签让某些局部不使用缓存,我想问的是在thinkphp中应该怎样来实现 ?

 标签:thinkphpphp

讨论这个帖子(3)垃圾回帖将一律封号处理……

Lv6 码匠
貪***续 PHP开发工程师 6年前#1

Thinkphp 并没有所谓的局部不缓存,只有通过ajax实现了

Lv6 码匠
阿***6 Linux系统工程师 6年前#2

Js + Ajax 实现局部刷新

Lv6 码匠
飞***e 产品经理 6年前#3

1.ajax局部刷新DIV 那么这个div不就是不能缓存了吗? 不太明白你的意思
2.define('APP_DEBUG',True); 开启debug就不缓存了

<script type="text/javascript">  

var xmlhttp;  

function startrefresh(){  

xmlhttp=new XMLHttpRequest();  

xmlhttp.open("POST,"ss.jsp",true);  

xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");  

//xmlhttp.send("name=wk");  --需要传输参数时增加

xmlhttp.onreadystatechange = function(){  

   if(xmlhttp.readyState == 4)  

        if(xmlhttp.status == 200)  

            document.getElementById("mydvi").innerHTML=xmlhttp.responseText;  

 }  

 }  

</script>
 文明上网,理性发言!   😉 阿里云幸运券,戳我领取