Ste*_*anE 119 database asp.net filesystems image
我的问题相当通用,我知道可能没有100%的答案.我正在构建一个ASP .NET Web解决方案,其中包含大量图片,并希望有相当多的流量.我确实想要达到性能.
我应该将图片保存在数据库或文件系统中吗?无论答案如何,我都更感兴趣为什么选择一种特定的方式.
非常感谢,Stefan
DUPLICATE:在DB中存储图像 - 是或否?,如何在文件系统中存储图像,存储少量图像:blob还是fs?可能还有其他一些.
评论:感谢许多好的答案.即使我喜欢使用100%数据库驱动的解决方案,我也会选择基于文件的解决方案.似乎今天有很好的解决方案来做我想要的数据库等,但我有一些理由不这样做.
我将使用托管解决方案,我有大量的存储空间(10gb)但数据库只有300mb.在DB中额外存储会花费很多.
我不是数据库专家,也不能控制数据库的设置.基于数据库的解决方案可能需要自定义配置.
如果我们将在我们自己的服务器上运行该站点,我可能会考虑基于数据库的解决方案.谢谢,斯蒂芬
Akb*_*him 170
将图片存储在文件系统和数据库中的图片位置.
为什么?因为...
dev*_*vio 11
在我最近开发的项目中,我将图像(和各种二进制文档)存储为数据库表中的图像列.
将文件存储在数据库中的好处显然是,如果删除了记录,则不会在硬盘上找到未引用的文件,因为数据库(=元数据)和硬盘(=文件存储)之间的同步不是内置的并且必须手动编程.
使用今天的技术,我建议您将图像存储在SQL Server 2008 FILESTREAM列中(至少这是我将要对下一个项目执行的操作),因为它们结合了在数据库中存储数据和在单独文件中具有大型二进制文件的优点(在至少根据广告;))
最好将文件存储为文件.不同的数据库以不同的方式处理Blob数据,因此如果您必须迁移后端,则可能会遇到麻烦.
当提供impage时,<img src =到服务器上已存在的文件可能比从数据库字段创建临时文件并将<img标记指向该文件更快.
我通过Google搜索您的问题找到了这个答案,并在http://databases.aspfaq.com/database/should-i-store-images-in-the-database-or-the-filesystem.html上阅读了评论.
我通常喜欢在数据库中使用二进制文件,因为:
在数据库中存储图像会增加服务单个图像的数据库开销,并且如果您增长到该级别,则很难卸载到备用存储(S3、Akami)。将它们存储在数据库中可以更轻松地将应用程序移动到不同的服务器,因为现在只需移动数据库。
将图像存储在磁盘上可以轻松卸载到备用存储,使图像成为静态元素,这样您就不必在 Web 应用程序中乱搞 HTTP 标头来使图像可缓存。缺点是,如果您将应用程序移动到不同的服务器,您也需要记住移动图像;容易被遗忘的东西。
| 归档时间: |
|
| 查看次数: |
41157 次 |
| 最近记录: |