thinkphp怎么写更新缓存功能

WBOY
풀어 주다: 2016-06-23 13:49:11
원래의
1021명이 탐색했습니다.

就是后台有个更新缓存的按钮 点击一下  所有用户(包括第一次访问的和 以前访问过的用户)  重新加载网页代码  


回复讨论(解决方案)

最简单的办法就是删除全部缓存,有访客时自动重建

第一次访问的和 以前访问过的用户?
那?是??器?存吧。
?面?存???用?有什????

??器?存可以?置header("cache-control:no-cache,must-revalidate"); 实现。

直接遍历Runtime目录,删除即可。

同意楼上的,我用的ajax实现的

public function ajaxUpdateCache() {
        if ($this->isPost()) {
            if (file_exists(RUNTIME_FILE)) {
                unlink(RUNTIME_FILE); //删除RUNTIME_FILE;
            }
            $cachedir = RUNTIME_PATH . "/Cache/";   //Cache文件的路径;
            if ($dh = opendir($cachedir)) {     //打开Cache文件夹;
                while (($file = readdir($dh)) !== false) {    //遍历Cache目录,
                    unlink($cachedir . $file);                //删除遍历到的每一个文件;
                }
                closedir($dh);
            }
            $tempdir = RUNTIME_PATH . "/Temp/";   //Cache文件的路径;
            if ($dh = opendir($tempdir)) {     //打开Cache文件夹;
                while (($file = readdir($dh)) !== false) {    //遍历Cache目录,
                    unlink($tempdir . $file);                 //删除遍历到的每一个文件;
                }
                closedir($dh);
            }
            $this->ajaxReturn(array("success" => true), 'JSON');
        } else {
            $this->ajaxReturn(array("success" => false, "msg" => "参数错误"), 'JSON');
        }
    }

不知道你这个需求是为了什么
浏览器有多个缓存机制,你后台更新了页面数据,它会知道的
如果想后台点了按钮,前台正在浏览的用户立刻刷新,就需要用ajax轮询,每隔多少秒问一次服务器是否需要刷新

这个跟runtime有什么关系啊  跟php没关系 静态页面的缓存

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿