8

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

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

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

哪种方法可以减少下载图像所需的时间?

4

2 回答 2

7

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

  • 您不想在实时应用程序服务器上使用带宽/内存/CPU 时间来提供图像:您想为您的应用程序保存它
  • 使用 Amazon S3、大型文件服务器集群和/或缓存 CDN 等工具可以更轻松地扩展图像服务
  • 典型的数据库在存储图像方面没有得到很好的优化

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

于 2013-05-28T06:25:43.033 回答
2

选择第二个选项

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

为此,您可以使用 gemmongoid-paperclip

这是一个很棒的 gem 并且易于实现。

于 2013-05-28T06:55:22.933 回答