-1

我有一个问题,最好是直接使用 blob、binary 等数据类型将图像保存在数据库中,还是使用回形针通过维护文件夹结构和仅保留数据库中的路径来存储图像的方式是标准的。

4

2 回答 2

1

在数据库中存储图片可以帮助您保持数据同步(如果手动更改文件夹名称怎么办?)。然后,它会节省您记住在数据库本身之外备份数据的小工作。另一方面,从数据库中检索图像比从文件系统中检索图像要慢得多,而且我似乎记得的数据库存储空间在 Web 服务器上更昂贵。

说起来,这只是一个选择的问题。如果您决定使用数据库,有一个 gem 可以帮助您完成“回形针数据库”。

于 2013-08-23T06:55:10.107 回答
0

有一些优点和缺点。

好处

  • 易于保护参照完整性。保存在数据库中的图像(路径)与保存在文件系统中的真实图像之间没有差异。

  • 数据库备份还包含图像。但是考虑到您仍然必须备份应用程序数据。(所以这不是一个好的论点)

  • 更轻松的权限管理

缺点

  • 性能问题。每个图像都必须从数据库中加载。影响的图像越多,这个论点的权重就越大。

  • 浏览器缓存/检查图像是否已更改(If-modified-Since)不再起作用。(但您可以自己实施检查)

(没有完整列表)

我的结论

在流量和图像较少的小型站点上,可以将图像存储在数据库中。在更大的网站上,我不会那样做。

于 2013-08-23T06:55:29.140 回答