我正在使用Laravel来制作我的项目,这需要扩展图像上传和图像存储。请告诉我,存储图像的最佳方法是什么,以便图像可以加载更快。
答案 0 :(得分:0)
存储和加载图像的最快方法是在主内存中。然而,这可能不实用,因为图像是大文件,主存储器是有限的并且在重新启动之间不会持久。您应该将它们存储在磁盘上。
我强烈建议不要将图像作为blob存储在数据库中。
答案 1 :(得分:0)
不要害怕将图像放在文件系统上。将它直接放入数据库是一种不好的做法。它会伤害数据库服务器。而是将图像的路径存储到数据库中。
要么缓存它,要么只是使用CDN,如果你真的想要速度的话。另外,请注意CDN可能无法真正加快某些地方的加载速度。
如果CDN服务器仅在美国(例如,只是为了得到这个想法)并且你在美国很好,它会很快。否则,它会很慢。
它只是影响速度的位置,服务器的磁盘速度也会影响速度。如果你的系统在SSD上,那么它也会很快。
答案 2 :(得分:-1)
我要做的是将它们存储在磁盘中并使用像Redis这样的内存数据库将它们缓存到内存中,当有人请求它们并在清除每次更新的内存之前将数据库中的映像提供给生命周期很短的时间对同一图像的请求再次出现(可以在redis中轻松完成),以便最常见的图像始终被缓存并快速访问用户,但使用最少的图像不使用额外的内存空间。
如果页面中有一些长卷轴,您也可以逐渐加载它们,以便初始反馈更快一些。