什么是存储和访问图像的最有效方法

时间:2011-01-08 10:33:52

标签: php ruby-on-rails database image storage

我正在开发一个项目,该项目必须在服务器上存储数万个图像并让用户访问它们。我需要最有效的方法来存储这些图像并检索它们。另外,我需要有关我应该选择哪种技术的信息。我还没有开始这个项目。所以,我在PHP w / CodeIgniter和Ruby on Rails之间思考。

该网站托管了许多仅由内容作者上传的图片,而不是用户上传的图片。

3 个答案:

答案 0 :(得分:5)

存储图像时,为它们生成校验和是有益的,这样您就可以检查图像是否重复并只存储一个实例。

文件夹的组织很重要,因为文件系统就像相对数据库一样寻找图像,并且一个文件夹中的许多图像都是个问题。当您已经实现校验和时,您可以轻松地从校验和创建目录结构,例如,MD5的前两个字符将是第一级子文件夹,而下两个字符将是第二级。剩下的字符将是图像文件本身。如果要允许重复项,校验和后可以为图像名称添加后缀。

关于存储 - 您应该拥有一个单独的静态内容服务器,其中包含快速且专业的Web服务器,如nginx或lighttpd,以免忘记性能问题。 HDD应设置为RAID阵列。

编辑: 对于您的Web项目要求,只需在数据库中存储有关图像的信息,使用的框架与图像存储本身无关。

答案 1 :(得分:1)

如果您使用PHP,您可以随时使用一些可用于图像存储和操作的软件,例如GalleryphpThumb,或者至少看看他们的代码,这样您就不会不得不重新发明轮子。话虽如此,我确信必须存在类似的ruby库。

答案 2 :(得分:0)

看一下,这是很常见的问题。但这些链接可能对您有所帮助

您可能想要更多研究

编辑#1:一个建议,只是不要将你的图像存储在数据库中。