PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

我在自己写的PHP框架中实现了静态页面缓存也就是文件缓存,请问可以加快页面加载速度吗?

原创
2016-10-11 14:23:28 809浏览

我在自己写的PHP框架中实现了静态页面缓存也就是文件缓存,请问可以加快页面加载速度吗?

回复内容:

我在自己写的PHP框架中实现了静态页面缓存也就是文件缓存,请问可以加快页面加载速度吗?

当然是可以的,但是要注意输出静态缓存的时间,如果显示静态缓存和渲染动态页面输出之前,所经过的程序代码都是一样多的,那对页面加载速度的提升自然是不多的。

如果使用PHP生成缓存,那应该在控制器逻辑开始之前加一个缓存判断,如果是在控制器渲染模板的时候判断,性能提升效果就不明显了.

我下面说一种不需要PHP参与缓存生成和使用的方法,绝对要比任何需要PHP参与的缓存系统都要高效.
那就是利用Nginx实现的fastcgi_cache,比如缓存WordPress:

fastcgi_temp_path /png/nginx/1.5.7/ngx_fcgi_tmp;
fastcgi_cache_path /png/nginx/1.5.7/ngx_fcgi_cache levels=1:2 keys_zone=WORDPRESS:512m inactive=1d max_size=1g;
fastcgi_cache_valid 200 301 302 1d; #缓存1天(day)
fastcgi_cache_use_stale error timeout invalid_header http_500;
fastcgi_cache_key $request_method://$host$request_uri;
location ~ \.php$ {
    fastcgi_cache WORDPRESS;
}

PHP这边只需要实现缓存删除功能:

PHP示例代码purge.php:
以下脚本要清除页面 GET://www.example.com/sample-page 的缓存:
/png/nginx/1.5.7/ngx_fcgi_cache/5/b6/abad4d0ad087b7eecaac98d0a2a08b65

一般的php框架都有内置标签,而这些内置标签,需要框架去解析成原生php脚本。然后再交给cgi执行,如果生成了缓存的话就可免去解析标签这个过程,自然可以提速哦

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。