【问题标题】:Updating Laravel 5.4 view cache to push to S3 server vs. local storage path更新 Laravel 5.4 视图缓存以推送到 S3 服务器与本地存储路径
【发布时间】:2017-10-22 12:09:24
【问题描述】:

我目前有一个应用程序正在使用 Laravel 刀片模板中包含的默认视图缓存。正如预期的那样,当刀片文件被编译时,缓存的视图存储在 storage/framework/views 中(这是 Laravel 的默认值)。

在与我的 Techops 团队合作时,他们提到需要将这些编译后的视图放到 S3 服务器上,而不是存储在本地实例上。我在这里找到了一种可能的方法来覆盖它,How do I disable Laravel view cache?。我已经开始在我的应用程序中实现它。

我的问题是,将这些推送到 S3 服务器与本地目录(如果有)有什么好处?这种方法会导致加载时间延迟吗?您可能会看到使用此方法产生的任何其他问题?

【问题讨论】:

    标签: php laravel caching amazon-s3 laravel-5.4


    【解决方案1】:

    希望现在给出答案还为时不晚,但我可以看到这种方法有两个影响(不一定是负面影响)。

    首先是缓存利用率上升(这是一件好事),特别是在负载均衡器中有太多实例的情况下。

    假设您有一个 url,http://example.org/foo/bar,它会生成一个视图并在本地缓存它。只有在命中同一台服务器时,缓存才会再次使用它。如果这个 url 被另一个服务器命中,则需要完成所有的解析和缓存过程。

    如果所有实例都指向一个 S3 存储桶,那么一旦一个实例第一次对其进行缓存,它将可用于所有其他不需要在本地重新处理所有内容的实例。

    当然,S3 的延迟时间比本地磁盘要长,但是您可以通过对存储桶和/或其他资源的正确配置来加快它的速度(我什至会押注使用 redis 的弹性缓存来完成此任务,而不是s3)。

    另一件事是成本。 S3 比 EBS 卷存储数据要便宜得多。因此,取决于您要存储多少数据,这也可以讨论。

    【讨论】:

      猜你喜欢
      • 2011-07-29
      • 2017-06-28
      • 2023-03-10
      • 2020-10-18
      • 1970-01-01
      • 2011-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多