【问题标题】:How to convert Laravel views to static HTML and serve them from cache?如何将 Laravel 视图转换为静态 HTML 并从缓存中提供它们?
【发布时间】:2021-06-16 13:25:30
【问题描述】:

我想设置功能以将 Laravel 5.3 中的视图转换为静态 HTML 并将其提供给访问者,直到从 CMS 调用中指定为止。我还喜欢使用 HTTP 标头来缓存访问者计算机上的页面。

  1. 如何在启用路由缓存的情况下将视图作为静态 HTML 提供?
  2. 如何使用 HTTP 标头从用户缓存中提供静态 HTML 视图?
  3. 我可以/应该使用任何其他警告或性能提升技巧吗?

【问题讨论】:

    标签: php laravel caching


    【解决方案1】:

    这里我会用代码回答File based cache。这不完全是HTML 缓存,但性能很好。

    查看我的 Laravel 安装 /var/www/ea(这是我的 Laravel 安装目录)

    第一步:如何创建缓存

    第 2 步:这一步在第 1 步之前,即configure 缓存到file 缓存。打开config/cache.php 并检查两件事

    'default' => env('CACHE_DRIVER', 'file'), //这意味着您的缓存默认驱动程序是基于文件的。

    然后

    'path' => storage_path('framework/cache'), //这是我上面截图的路径。

    第 3 步:让我们编写代码来创建缓存。 打开您的 Controller 方法并编写以下内容

    \Cache::put( 'cachekey', 'Hello I am Abdul', 1 ); // 1- minute
    

    laravel documentation for cache

    第 4 步:检查在 framework/cache/ 内创建的任何新目录

    那是你的缓存文件。

    // Following code check if the cache key already exists before creating, 
    // otherwise create cache file
    if (Cache::has('key')){
        Cache::get('key');
    } else {
        Cache::put('key', $values, 10);
    }
    

    【讨论】:

    • 我们不能存储整个渲染的 HTML 吗?
    【解决方案2】:

    您可以使用一个简单的包。它可以轻松地将响应缓存为磁盘上的静态文件,以实现闪电般的快速页面加载。

    这里是Page Cache Package for Laravel

    【讨论】:

      猜你喜欢
      • 2014-12-28
      • 2018-08-07
      • 2017-07-12
      • 1970-01-01
      • 1970-01-01
      • 2015-10-27
      • 2014-08-26
      • 2020-11-10
      • 1970-01-01
      相关资源
      最近更新 更多