数据库 – 存储少量图像:blob还是fs?
|
我正在为我的网站添加一些功能,以便用户可以上传他们自己的个人资料图片,所以我想知道是将它们作为BLOB存储在数据库中,还是将它们放在文件系统中. 我在这里找到了一个类似的问题:Storing images in DB: Yea or Nay,但给出的答案更多地针对那些期待数千甚至数百万图像的人,而我更关心的是小图像(JPEG可能高达150×150像素),而且小它们的数量:可能高达一两千. 对于这种情况,DB BLOB vs Filesystem有什么感受?客户端如何使用来自DB和文件系统的缓存映像? 如果存储在数据库中的BLOB是要走的路 – 我应该知道在哪里存储它们吗?由于我想我的大多数用户都不会上传图片,我是否应该在需要时创建一个user_pics表到(外部)加入常规用户表? 编辑:我正在重新打开这个问题,因为它与你链接的那两个不重复.这个问题具体是关于使用DB或FS来处理少量图像的优缺点.正如我上面所说,另一个问题是针对需要存储数千个大型图像的人. 解决方法回答部分问题:
对于数据库:在数据库中有一个last_modified字段.使用Last-Modified HTTP标头,以便客户端的浏览器可以正常缓存.当浏览器请求图像“如果更新”时,请务必发送相应的响应(无法回想起它的内容;某些HTTP请求标头). 对于文件系统:执行相同的操作,但使用文件的修改时间.
我会把BLOB和相关的元数据放在它自己的表中,它与你的用户表之间有某种关系.这样做可以更轻松地优化数据的表存储方法,使事情更加整洁,并为可扩展性留出空间(例如,一般的“文件”表). (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- SQL连接:SQL ANSI标准的未来(vs加入)?
- sql – Postgres:使用ARRAY_AGG和HAVING(而不是WHERE)过滤
- 创建动态MSSQL数据库表
- SQL Server 高速缓存依赖分析
- sql 触发器使用例子
- SQL Server SQL order by ID desc/asc加一个排序的字段解决
- SQL Server中的“money”和“decimal”数据类型如何存储在内
- sql – ORA 7445:导致Oracle 12c崩溃的查询
- SQL Server 2005/2008 用户数据库文件默认路径和默认备份路
- sql-server – INSERT语句中的行值表达式数超过了允许的最大
