这是存储图像的最佳方法?

时间:2013-05-28 06:19:14

标签: mongodb

我们正在使用mongodb和scala开发Web应用程序。我们要存储用户上传的图片。我们有两个选择

  1. 使用GridFS将图像直接存储在mongodb数据库中。

  2. 将图像存储在服务器上的文件夹中。仅存储该图像在数据库中的路径。

  3. 哪种方法最好,以便下载图像所需的时间更短?

2 个答案:

答案 0 :(得分:7)

通常,您希望将静态图像与应用程序服务器分开,原因如下:

  • 您不希望在实时应用程序服务器上使用带宽/内存/ CPU时间来提供图像:您希望为应用程序保存该图像
  • 使用Amazon S3,大型文件服务器群集和/或缓存CDN等方式,可以更轻松地扩展图像服务
  • 典型数据库未针对存储图像进行了优化

鉴于上述所有情况,我建议将图像分开,并仅将图像的路径(或查找ID)存储在数据库中。

答案 1 :(得分:2)

选择第二个选项

2.Storing Images in folder on server.And store only path of that image in database.

为此,您可以使用gem mongoid-paperclip

这是一个很棒的宝石,易于实现。