【发布时间】:2020-10-18 02:08:08
【问题描述】:
我有基于 Laravel 的 Web 和移动应用程序,可以在 AWS S3 上存储图像,我想添加缓存支持,因为即使是少数应用程序用户也会在 AWS S3 上产生数百甚至数千个 GET 请求。
为了从移动应用程序获取图像,我使用了由这样的代码处理的 GET 请求
public function showImage(....) {
...
return Storage::disk('s3')->response("images/".$image->filename);
}
在下一张图片中,您可以看到我收到的响应标头。 Cache-Control 显示无缓存,所以我假设移动应用不会缓存此图像。
- 如何为此请求添加缓存支持?我应该这样做吗?
- 我知道 Laravel Documentaion suggests caching 用于文件存储 - 我应该为 S3 实现它吗?是否有助于减少从 AWS S3 读取文件的 GET 请求计数?在哪里可以找到有关它的更多信息。
【问题讨论】:
-
我对使用 S3 还是很陌生,但听起来应该在 AWS 中设置缓存。看起来您可以为整个 S3 存储桶设置此设置:stackoverflow.com/a/29280730/3103434
标签: laravel amazon-s3 cache-control laravel-storage