1. 首页
  2. 编程语言
  3. PHP
  4. thnkphp5行为扩展html静态缓存

thnkphp5行为扩展html静态缓存

上传者: 2022-06-16 23:26:00上传 .ZIP文件 3.12 KB 热度 5次

thnkphp5行为扩展html静态缓存

利用钩子thinkphp钩子进行行为扩展。先上本地测试结果

关闭缓存:

[email protected] */" _ue_custom_node_="true">:/home/www/wwwroot/yunshare.qq$ ab -n1000 -c10 http://yunshare.qq/Article/8/9.htmlThis is ApacheBench, Version 2.3 Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/Licensed to The Apache Software Foundation, http://www.apache.org/Benchmarking yunshare.qq (be patient)Completed 100 requestsCompleted 200 requestsCompleted 300 requestsCompleted 400 requestsCompleted 500 requestsCompleted 600 requestsCompleted 700 requestsCompleted 800 requestsCompleted 900 requestsCompleted 1000 requestsFinished 1000 requestsServer Software: nginx/1.10.0Server Hostname: yunshare.qqServer Port: 80Document Path: /Article/8/9.htmlDocument Length: 67926 bytesConcurrency Level: 10Time taken for tests: 66.869 secondsComplete requests: 1000Failed requests: 0Total transferred: 68095000 bytesHTML transferred: 67926000 bytesRequests per second: 14.95 [#/sec] (mean)Time per request: 668.692 [ms] (mean)Time per request: 66.869 [ms] (mean, across all concurrent requests)Transfer rate: 994.46 [Kbytes/sec] receivedConnection Times (ms) min mean[ /-sd] median maxConnect: 0 0 0.2 0 3Processing: 252 666 72.9 661 1066Waiting: 252 664 72.5 659 1065Total: 255 666 72.9 661 1066Percentage of the requests served within a certain time (ms) 50% 661 66% 687 75% 704 80% 716 90% 757 95% 792 98% 834 99% 858 100% 1066 (longest request)

开启缓存:

[email protected] */" _ue_custom_node_="true">:/home/www/wwwroot/yunshare.qq$ ab -n1000 -c10 http://yunshare.qq/Article/8/9.htmlThis is ApacheBench, Version 2.3 Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/Licensed to The Apache Software Foundation, http://www.apache.org/Benchmarking yunshare.qq (be patient)Completed 100 requestsCompleted 200 requestsCompleted 300 requestsCompleted 400 requestsCompleted 500 requestsCompleted 600 requestsCompleted 700 requestsCompleted 800 requestsCompleted 900 requestsCompleted 1000 requestsFinished 1000 requestsServer Software: nginx/1.10.0Server Hostname: yunshare.qqServer Port: 80Document Path: /Article/8/9.htmlDocument Length: 44835 bytesConcurrency Level: 10Time taken for tests: 20.578 secondsComplete requests: 1000Failed requests: 0Total transferred: 45004000 bytesHTML transferred: 44835000 bytesRequests per second: 48.60 [#/sec] (mean)Time per request: 205.777 [ms] (mean)Time per request: 20.578 [ms] (mean, across all concurrent requests)Transfer rate: 2135.77 [Kbytes/sec] receivedConnection Times (ms) min mean[ /-sd] median maxConnect: 0 0 0.1 0 2Processing: 69 205 30.7 202 344Waiting: 68 202 30.3 200 340Total: 71 205 30.6 202 344Percentage of the requests served within a certain time (ms) 50% 202 66% 213 75% 220 80% 224 90% 239 95% 254 98% 286 99% 328 100% 344 (longest request)

使用方法(和thinkphp3.2相似)

'配置值' 'html_cache_on' => false, // 开启静态缓存 'html_cache_time' => 7200, // 全局静态缓存有效期(秒) 'html_file_suffix' => '.shtml', // 设置静态缓存文件后缀 'html_cache_compile_type' => 'file',//缓存存储驱动 'html_cache_rules' => array( // 定义静态缓存规则 // // 定义格式1 数组方式 //'静态地址' => array('静态规则', '有效期', '附加规则'), //1.任意控制器的任意操作都适用 '*'=>array('{$_SERVER.REQUEST_URI|md5}'), //2.任意控制器的md5操作 'md5'=>array('{:module}/{:controller}/{:action}_{id|md5}'), //3.Static控制器的所有操作 'Static:'=>array('{:module}/{:controller}/{:action}',50)//第一个参数是构造的字符串,后面是缓存50秒 //4.Hmtl控制器的md5操作 'Html:md5'=>array('{:module}/{:controller}/{:action}'), ));

参考:http://wp.iyouths.org/250.html

扩展步骤

文件位置:appplication/tags.php(或appplication/index/tags.php)

[ 'app\\index\\behavior\\ReadHtmlCacheBehavior',//可自行修改文件位置 ], 'view_filter' => [ 'app\\index\\behavior\\WriteHtmlCacheBehavior', ],];

添加文件

application/index/behavior/ReadHtmlCacheBehavior.php

application/index/behavior/WriteHtmlCacheBehavior.php

注意:

检查是否修改模板文件改为了app_debug = true

下载地址
用户评论