【问题标题】:Laravel 5.2 - How to render page before all content loadLaravel 5.2 - 如何在所有内容加载之前渲染页面
【发布时间】:2016-10-27 16:11:06
【问题描述】:

我还有一个关于 Laravel 的问题。

我的项目中有一个画廊,它加载了很多图片(目前大约有 80 张,但它仍然会增长)。我加载图像的方式很简单——在控制器中,我从photos 表中获取所有记录,然后将它们传递给查看。在视图中,我有 foreach 循环,它显示了每张图片。

问题是 Laravel 可能正在缓存渲染的页面然后加载它。它会导致图库页面长时间加载(现在 5-10 秒取决于服务器负载)。

它首先缓存呈现的页面然后加载它是对的吗?使用更快的缓存包会解决问题吗? 或者有没有其他方法可以加快网站加载速度?

提前致谢!

【问题讨论】:

  • 虽然我不确定 laravel 加载页面的具体步骤是什么,但画廊很容易由缓存系统(如 redis)提供支持。我建议你看看它。我通常的工作方式是使用评分集根据时间戳为最新评分,而不是使用散列集来存储有关图库中图像的信息。 Laravel 已经内置了 redis 库:laravel.com/docs/5.1/redis。请务必通过 composer 添加 predis/predis 包并查看他们的文档

标签: php laravel caching optimization


【解决方案1】:

您想要的不仅仅是 Laravel,加载时间缓慢是由于客户端下载图像所需的时间。 (当然,除非您以 base64 格式发送图像,这在这种情况下会很奇怪。)

这是其他人解决此问题的方法:

  • 为所有图像创建缩略图,并在单击缩略图链接后查看全尺寸图像。
  • 使用 JavaScript 加载图像。

【讨论】:

  • 感谢您的回答。实际上,这是目前的做法。我有缩略图(但它们很大,因为它们是一排 4 个),并且有指向全分辨率图像的链接。但是,我已经从 cakephp 重写了这个网站,没有问题 - 图片是“实时”加载的,而不是在渲染之前。
  • 我改变了缩略图的质量。现在大约 80 张图片需要 1.64 MB,加载页面仍然需要大约 5 秒。
  • 终于找到了加载时间过长的原因——图片插件执行的时间很长。我立即将“获取”宽度和高度更改为静态和页面加载;)
猜你喜欢
  • 2020-09-18
  • 1970-01-01
  • 1970-01-01
  • 2018-07-26
  • 1970-01-01
  • 2012-07-07
  • 1970-01-01
  • 2014-07-21
  • 1970-01-01
相关资源
最近更新 更多