在基于图像的大型项目中存储和提供图像的方法

时间:2014-04-16 06:34:08

标签: php save gallery

我手头有一个大项目。

它基于图像和画廊。

在这个网站中,有三种不同大小的图像。 原始尺寸,缩略图尺寸,微小尺寸

我有一个专门的服务器用于这个项目,所以间距不是我主要考虑的问题,虽然我应该注意它,而且只是合乎逻辑的关注没有限制。

我的问题:在发布到网站上时,哪种方法最好保存图片?

  • 将所有三种尺寸保存在三个不同的文件中

  • 或者在加载到页面时动态调整大小,这意味着只保留原始图像

优先级

  1. 质量
  2. 性能
  3. 存储

2 个答案:

答案 0 :(得分:0)

如果我是你,我不会动态生成(尤其是访问者看到的长图像列表,性能可能会下降,具体取决于您处理它的方式)。还取决于原始尺寸有多大。无论如何,我会选择“生成一次”策略并将其缓存到客户端。通过这种方式,您还可以在调整大小时提高图像质量,并且不必担心服务器影响(可能会出现真正的问题,具体取决于规格和同时访问者,上行链路等)。

只是我的2c。

答案 1 :(得分:0)

您将质量列为最高优先级,将存储列为最低优先级。在这种情况下,我会以最高可能/可接受的分辨率存储图像,并在运行时调整它们的大小,可能使用缓存机制。 总的来说,请注意,缓存也将由浏览器自行执行

编辑:这似乎是SO的头像图片(不是图片素材)的投放方式(图片尺寸在请求中传递以获取图片,尝试更改图片)

此外,在项目的这个阶段,要实现这两种方法并将其与预期负载进行基准测试并不困难。但是,我仍然会开始使用动态生成的图像,如果缓存没有帮助,可以在稍后阶段预先计算不同的分辨率。