我的网站有一个图像网格。假设在10x10网格中有100个图像,每个图像为50x50。我向用户提供了向外滚动的能力,使这个500x500网格在25x25分辨率下成为20x20网格,这是400张照片,或者只有25张照片,在100x100分辨率下为5x5。
为了能够做到这一点,我必须从get go中加载所有400个图像。我的问题归结为这些图像应该如何存储在服务器上。如果我将所有图像存储在100x100,则可以说是4兆字节的空间。但是,如果我将它们存储在50x50,即只有1兆字节的空间,但在更高的分辨率下会变得模糊。请记住,空间既是加载页面的数据量(因此也是时间),也是服务器上所需的存储空间量。
我的解决方案是通过保留每个分辨率下存储的图像的多个副本来牺牲服务器空间。当页面加载时,它以最低分辨率拍摄400张照片,以中等分辨率拍摄100张照片,以最高分辨率拍摄25张照片。然后,当用户更改大小时,它会切换它使用的图像。
这是一个简单的例子,因为最终我想要5个(或更多)级别的缩放,并且会有更多的代码。只是想知道服务器存储是不是一个问题(如果只是),我真的想提高数据使用效率(考虑到这个网站是针对移动用户),这是一个可接受的解决方案吗?或者还有其他更好或值得考虑的解决方案吗?