Php 更新Laravel 5.4视图缓存以推送到S3服务器与本地存储路径

Php 更新Laravel 5.4视图缓存以推送到S3服务器与本地存储路径,php,laravel,caching,amazon-s3,laravel-5.4,Php,Laravel,Caching,Amazon S3,Laravel 5.4,我目前有一个应用程序正在使用Laravel刀片模板中包含的默认视图缓存。正如所料,编译刀片文件时,缓存的视图存储在storage/framework/views中(这是默认的Laravel值) 在与我的Techops团队合作时,他们提到这些编译后的视图需要放在S3服务器上,而不是存储在本地实例上。我找到了一种可能的方法来覆盖这里的内容。我已经开始在我的应用程序中实现 我的问题是,将它们推送到S3服务器与本地目录(如果有的话)相比有什么好处?此方法是否会导致加载时间延迟?您可能会看到这种方法带来的

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

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


我的问题是,将它们推送到S3服务器与本地目录(如果有的话)相比有什么好处?此方法是否会导致加载时间延迟?您可能会看到这种方法带来的任何其他问题?

希望现在回答还不算太晚,但我可以看到这种方法带来的两个影响(不一定是负面影响)

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

假设您有一个url,它生成一个视图并在本地缓存它。只有在命中同一服务器时,缓存才会再次使用它。如果该url命中了另一台服务器,则需要完成所有解析和缓存过程

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

当然,S3的延迟时间比本地磁盘要长,但您可以通过在bucket和/或其他资源上进行适当配置来加快它的速度(我甚至可以打赌,对于这项任务,使用redis的弹性缓存而不是S3)


另一件事是成本。S3在存储数据方面比EBS卷便宜得多。因此,根据您将要存储的数据量,这也可以在讨论中。

希望现在回答还不算太晚,但我可以看到这种方法的两个影响(不一定是负面影响)

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

假设您有一个url,它生成一个视图并在本地缓存它。只有在命中同一服务器时,缓存才会再次使用它。如果该url命中了另一台服务器,则需要完成所有解析和缓存过程

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

当然,S3的延迟时间比本地磁盘要长,但您可以通过在bucket和/或其他资源上进行适当配置来加快它的速度(我甚至可以打赌,对于这项任务,使用redis的弹性缓存而不是S3)

另一件事是成本。S3在存储数据方面比EBS卷便宜得多。因此,根据您要存储的数据量,这也可以在讨论中讨论