laravel缓存html,Laravel 静态页面缓存 JosephSilber/page-cache - 码农天地

JosephSilber/page-cache Laravel 静态页面缓存2020-02-26 09:39:53

519139bc9681ade29be0c9d41a673723.png

Laravel 页面缓存

这个包允许您轻松地将响应缓存为磁盘上的静态文件,以便更快速地加载页面。

包管理地址:

安装:

用 composer 安装 page-cache 包:composer require silber/page-cache

服务提供者

注意:如果你使用 Laravel5.5+,service provider 会自动注册,你可以完全忽略这一步骤。

找到 config/app.php 并添加这一段到 providers 数组中:Silber\PageCache\LaravelServiceProvider::class,

中间件

打开 app/Http/Kernel.php 并添加这行到你的 web 中间件组中:protected $middlewareGroups = [

'web' => [

\Silber\PageCache\Middleware\CacheResponse::class,

],

];

这个中间件非常智能,它只会缓存状态码是 200 的 HTTP 的 GET 请求。

如果你想有选择地缓存特定的请求到你的网站,你应该添加新的映射到 routeMiddleware 数组中:protected $routeMiddleware = [

'page-cache' => Silber\PageCache\Middleware\CacheResponse::class,

];

URL 重定向

为了在缓存后直接提供静态文件,您需要正确配置您的 Web 服务器来检查这些静态文件。

nginx

修改 location 中的 try_files 命令来包含 page-cache 目录:location = / {

try_files /page-cache/pc__index__pc.html /index.php?$query_string;

}

location / {

try_files $uri $uri/ /page-cache/$uri.html /index.php?$query_string;

}

apache

打开 public/.htaccess 并在 Handle Front Controller 之前添加下面内容:# Serve Cached Page If Available...

RewriteCond %{REQUEST_URI} ^/?$

RewriteCond %{DOCUMENT_ROOT}/page-cache/pc__index__pc.html -f

RewriteRule .? page-cache/pc__index__pc.html [L]

RewriteCond %{DOCUMENT_ROOT}/page-cache%{REQUEST_URI}.html -f

RewriteRule . page-cache%{REQUEST_URI}.html [L]

使用中间件

注意:如果你添加这个中间件到全局 web 中间件组中,那么所有的成功的 GET 请求都会被缓存下来,这就不需要再把中间件添加到路由中了。

如果您将其注册为路由中间件,那么您应该在要缓存的任何路由上使用中间件。Route::middleware('page-cache')->get('/', 'HomeController@index');

现在每一篇文章都会缓存在 public/page-cache 目录中,需要完全匹配 URL 结构,所有后续的页面的请求将直接由磁盘提供,甚至都不会去请求你的应用程序!

清除缓存

由于响应作为静态文件缓存到磁盘,所以应用程序中这些页面的任何更新都不会在您的网站上有所展示,如果要更新您网站上的页面,您应该使用以下命令清除缓存:php artisan page-cache:clear

一个经验之谈,将这个命令添加到您的部署脚本是一种很好的做法。

这样,无论何时更新代码并推送到您的站点的时候,页面缓存都将自动清除。

注意:由于linux权限限制,使用该命令在根目录必须要有执行权限,因此站点不大的情况下,可以直接用程序循环删除/puclic/page-cache文件夹的内容Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。在Laravel中已经具有了一套高级的PHP ActiveRecord实现 -- Eloquent ORM。它能方便的将“约束(constraints)”应用到关系的双方,这样你就具有了对数

Tags 标签laravel页面缓存

扩展阅读

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/300815.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pca 累积方差贡献率公式_机器学习数据降维方法:PCA主成分分析

PCA在机器学习中很常用,是一种无参数的数据降维方法。PCA步骤:将原始数据按列组成n行m列矩阵X将X的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值求出协方差矩阵求出协方差矩阵的特征值及对应的特征向量将特征向量按对应特征值大…

教程丨亿万网友一起换头像欢庆新中国成立70周年,就差你了!

全世界只有3.14 % 的人关注了青少年数学之旅眼看着2019年国庆节马上要到了大街小巷都挂起来显眼的国旗而今天早上朋友圈更是被“国旗”刷屏一打开朋友圈满屏的国旗微信头像不少网友们都以为只要在朋友圈“微信官方”就能获取定制国旗头像虽说这是一个官方的彩蛋但实际上并不是这…

如何在已安装TMG2010服务器上安装Symantec Backup Exec 2010 Remote Agent

公司一台TMG服务器更换为新服务器,安装部署完TMG2010后,再安装Backup Exec 2010 Remote Agent时无法通过推送方法安装成功,出现如下错误提示: 此时,只好通过手动方法在TMG服务器上安装Be Agent。 登录TMG服务器&#x…

如何在 C# 9 中使用record类型?

原文链接:https://www.infoworld.com/article/3607372/how-to-work-with-record-types-in-csharp-9.html原文标题:How to work with record types in C# 9翻译:沙漠尽头的狼(谷歌翻译加持)利用 C# 9 中的record类型来构建不可变类型和线程安全…

巧用TensorFlow实现图像处理

经过几年的发展,深度学习方法摧枯拉朽般地超越了传统方法,成为人工智能领域最热门的技术。谷歌、亚马逊、百度、Facebook 纷纷开源了自己的深度学习框架。而支撑AlphaGo的核心技术架构,TensorFlow,以其一鸣惊人的绝对表现&#xf…

微软面向初学者的机器学习课程:1.4-机器学习技术

写在前面:最近在参与microsoft/ML-For-Beginners的翻译活动,欢迎有兴趣的朋友加入(https://github.com/microsoft/ML-For-Beginners/issues/71)机器学习技术构建、使用和维护机器学习模型及其使用的数据的过程与许多其他开发工作流…

四川大学计算机科学与技术专业分数线,2015年四川大学计算机科学与技术硕士考研复试分数线是290分...

2015年四川大学计算机科学与技术硕士考研复试分数线是290分 (4页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!19.90 积分2015 年四川大学计算机科学与技术硕士考研复试分数线是 290 分2015 年四川大…

一个男人逐渐变心的过程。。 | 今日最佳

世界只有3.14 % 的人关注了青少年数学之旅(图源网络,侵权删)渣男,实锤!↓ ↓ ↓

2013-10-10

为什么80%的码农都做不了架构师?>>> http://wordpress.org/plugins/find-duplicates/ 检测文章的标题是否重复的插件 转载于:https://my.oschina.net/520yzw/blog/167580

arm cpu 超频_树莓派 400 超频方法介绍

对树莓派 400 进行超频非常容易实现。散热上,树莓派 400 设计了一个面积很大的被动散热器,这很有用。无需额外的主动降温就可以应对超频的散热需求。尽管有些用户通过配置,让树莓派 400 超频到了 2.2GHz,但我相信 2GHz 更稳一些。…

Blazor Server 和 WebAssembly 应用程序入门指南

翻译自 Waqas Anwar 2021年3月12日的文章 《A Beginner’s Guide To Blazor Server and WebAssembly Applications》 [1]如果您一直紧跟 .NET 世界的最新发展趋势,那么现在您一定听说过 Blazor。目前在 .NET 社区中有很多关于 Blazor 的宣传,这种宣传最常…

张萍萍山东大学计算机科学系毕业生,并行驰骋,放“码”来战!看先导杯大奖赛上山大风采...

原标题:并行驰骋,放“码”来战!看先导杯大奖赛上山大风采近日,山东大学计算机科学与技术学院2018级硕士研究生杨林、2020级硕士研究生李威宇组成的团队获得中科院“先导杯”并行应用大赛人工智能赛“大规模物体检测”和“神经网络…

利用percona-toolkit工具检查MySQL数据库主从复制数据的一致性,以及修复。

利用percona-toolkit工具检查MySQL数据库主从复制数据的一致性,以及修复。一、pt-table-checksum检查主从库数据的一致性pt-table-checksum在MASTER上校验指定库、表,将结果存在一个库表里,复制进程将检验sql传递到slave上再执行一次。通过比…

终于丫你奶奶的浩方了!

使用NTFS权限管理清除浩方对战平台广告 作者:feixing 时间:2005-7-14 18:33:17第 1 楼相信坛子里用到浩方上网玩游戏的人应该不下少数吧?随着浩方越做越大。当然也就随之会多很多我们根本不想要的东西。例如在登录浩方时。下方的广告框。进入浩方时。一个劲弹出的窗…

一个妄想的技术宅, 一个自己挖的核掩体, 一起怪异的死亡事件!!

世界只有3.14 % 的人关注了青少年数学之旅2017年9月10日,美国马里兰Bethesda,一个名叫Maplewood的社区如往日般平静。一位居民正在修理自己车挡风玻璃上的裂缝,突然他听到有人大喊:快出来!快出来!他往声音传…

bigint在java中用什么表示_为什么说开车最能看出一个人的人品和情商?这几条说的太精辟了...

人们常说,想要看清一个女人,就和她逛一次街,想要认清一个男人,就和他喝一次酒,无论是男人和女人,想要认清一个普通人,通过他开车就能看出来。因为每一次开车,都可以看出一个人的底线…

计算机Word应用程序,Word2007目录设置_计算机软件和应用程序_IT /计算机_信息

Word2007形成目录的方法步骤/方法1.设置目录样式. 此步骤是整理论文和文章,然后定义和设置多级序列的样式(普通论文需要第一级序列XX字体,几个大小的单词等). 主要用途是word2007的样式区域. 打开word2007,然后在“开始”区域中找到“样式”区…

英国出土1600年前的文物,上面居然刻着简体中文?!

全世界只有3.14 % 的人关注了青少年数学之旅最近,一幅大约1600年前的罗马马赛克壁画在英国考古界引起了轰动。这幅壁画的长度和宽度均为6米,埋藏在英国西伯克郡的Boxford村。据考古专家介绍,算上它在内,类似的马赛克壁画全世界一共…

asp.net控件开发基础(20)

示例代码上面我们讨论了数据绑定控件的做法,但都未涉及到asp.net2.0中数据源控件的用法,让用惯了数据源控件的人可能感觉不适应。这次我们就开始讨论在asp.net2.0中,我们该如何重新定义数据绑定控件。我一直在想,是先讨论数据源控…

Win7 Ubuntu13.04互通(win7下用vbox安装Ubuntu)

2019独角兽企业重金招聘Python工程师标准>>> <p>VirtualBox设置</p> <p>采用的是Bridgehost方式</p> <p><a href"http://static.oschina.net/uploads/img/201310/11213732_gHMq.jpg"><img style"background-…