찾다

 >  Q&A  >  본문

Thinkphp3.2中怎样实现局部不缓存?

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

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

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

巴扎黑巴扎黑2897일 전322

모든 응답(3)나는 대답할 것이다

  • 高洛峰

    高洛峰2017-04-10 16:54:18

    1.ajax局部刷新p 那么这个p不就是不能缓存了吗? 不太明白你的意思
    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>

    회신하다
    0
  • 阿神

    阿神2017-04-10 16:54:18

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

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-10 16:54:18

    Js + Ajax 实现局部刷新

    회신하다
    0
  • 취소회신하다