thinkphp 静态缓存
来源:互联网 发布:关于网络文化的数据 编辑:程序博客网 时间:2024/06/06 02:26
thinkphp的静态缓存是指将访问的每个页面按照一定的规则缓存起来,下一次访问时直接读取相应的缓存,这样就能加快访问速度。静态缓存与生成静态类似,区别在于生成静态后要更新内容必须重新生成,但是静态缓存可以在设置的缓存时间超出后自动重新生成缓存,缓存时间重新计算,这样就既能减小服务器解析模板的压力,又同时能自动更新。静态缓存与完全静态在访问速度方面相比稍微慢一点,但与不打开静态缓存就有天壤之别了。
当被缓存的页面html结构改变的时候,会马上重新生成缓存(注意是html结构),后端传过来的数据量增减不会重新去生成缓存文件
tp的开启静态缓存这里就不说了,自己去看官方文档
tp只要生成了静态页面且静态页面还没过期,再次访问数据的时候就会访问静态页面,不需要我们做什么其他操作。
接下来实例说话:
tp配置 根据你自己的实际情况配置
//静态缓存 'HTML_CACHE_ON' => true, // 开启静态缓存 'HTML_CACHE_TIME' => 60, // 全局静态缓存有效期(秒) 'HTML_FILE_SUFFIX' => '.php', // 设置静态缓存文件后缀 'HTML_PATH' => './Application/html',//静态缓存文件目录,HTML_PATH可任意设置,此处设为当前项目下新建的html目录 'HTML_CACHE_RULES'=>[ //缓存规则 'dbcurd:'=>['{:module}_{:controller}_{:action}',60,'md5'], 'testCatch:'=>['{:action}_{code}',30], ],
controller类
namespace Home\Controller;use Think\Controller;class TestCatchController extends Controller{ public function index(){ if(IS_GET){ echo 'hhhhh'; } //数据量大的时候就是体现出静态缓存的作用// $arr=[];// for($i=0;$i<500000;$i++){// $arr[]=[// 'i'=>$i,// 'name'=>'czh'.$i,// 'age'=>26,// ];// }//// $this->assign('arr',$arr); //小数据量 $message=[ 'name'=>'czh', 'age'=>26, 'habby'=>'basketball', 'habby2'=>'basketball', ]; $this->assign('message',$message); $this->display(); }}
html页面
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title></title></head><body><!--<volist name="arr" id="vo">--> <!--<div><{$vo.i}>----<{$vo.name}>----<{$vo.age}></div>--><!--</volist>--><ul> <volist name="message" id="vo"> <li><{$vo}></li> </volist></ul></body></html>
当第一次访问的时候 ,生成静态文件,如果设置的过期时间,在没超过过期时间里面无论怎么刷新页面,都是读取缓存文件。(后台的数组内容无论怎么增减都会读取缓存文件)。当过期时间到的时候,再刷新页面就会重新生成缓存页面。
还有一种情况会在还没到过期时间的时候去重新生成缓存文件,就是html页面发生变化的时候(添加了新元素等)。
大家可以自己去尝试下。
0 0
- ThinkPHP 静态缓存类
- thinkphp 静态缓存 ReadHtmlCache
- thinkphp 静态缓存
- thinkphp的静态缓存使用方法
- thinkphp的静态缓存使用方法
- thinkphp--静态缓存和动态缓存
- [php] ThinkPHP缓存技术(S(),F(),查询缓存,静态缓存)
- ThinkPHP静态缓存简单配置和使用
- ThinkPHP静态缓存简单配置和使用
- thinkphp 静态缓存页面的设置方法
- ThinkPHP的静态缓存,非系统写法。
- thinkphp 删除所有缓存 Rumtime 以及 Html 静态缓存
- ThinkPHP生成HTML静态文件和模板缓存的过程
- 【学习笔记】thinkphp 生成静态缓存的雪崩问题
- thinkphp 缓存
- ThinkPHP 缓存
- thinkphp缓存
- thinkphp缓存
- java,lang.Void类
- 文章标题
- win10系统如何开启高级设置
- Python中的元类(metaclass)
- BP与CNN的联系总结
- thinkphp 静态缓存
- HDU 4462 状压枚举。
- Java AIO学习
- HTTP, HTTP2.0, SPDY, HTTPS | 4种网络协议的渊源与发展
- Android中shape中的属性大全
- vue.js在laravel框架模板文件中引入失败问题
- docker优势
- 《HTML 参考手册》学习指南
- lua随机数