数据库 – 存储少量图像:blob还是fs?

前端之家收集整理的这篇文章主要介绍了数据库 – 存储少量图像:blob还是fs?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在为我的网站添加一些功能,以便用户可以上传他们自己的个人资料图片,所以我想知道是将它们作为BLOB存储在数据库中,还是将它们放在文件系统中.

我在这里找到了一个类似的问题:Storing images in DB: Yea or Nay,但给出的答案更多地针对那些期待数千甚至数百万图像的人,而我更关心的是小图像(JPEG可能高达150×150像素),而且小它们的数量:可能高达一两千.

对于这种情况,DB BLOB vs Filesystem有什么感受?客户端如何使用来自DB和文件系统的缓存映像?

如果存储在数据库中的BLOB是要走的路 – 我应该知道在哪里存储它们吗?由于我想我的大多数用户都不会上传图片,我是否应该在需要时创建一个user_pics表到(外部)加入常规用户表?

编辑:我正在重新打开这个问题,因为它与你链接的那两个不重复.这个问题具体是关于使用DB或FS来处理少量图像的优缺点.正如我上面所说,另一个问题是针对需要存储数千个大型图像的人.

解决方法

回答部分问题:

How do clients go with caching images from the DB vs from the filesystem?

对于数据库:在数据库中有一个last_modified字段.使用Last-Modified HTTP标头,以便客户端的浏览器可以正常缓存.当浏览器请求图像“如果更新”时,请务必发送相应的响应(无法回想起它的内容;某些HTTP请求标头).

对于文件系统:执行相同的操作,但使用文件修改时间.

If BLOBs stored in the DB are the way to go – is there anything I should know about where to store them? Since I imagine that a majority of my users won’t be uploading a picture,should I create a user_pics table to (outer) join to the regular users table when needed?

我会把BLOB和相关的元数据放在它自己的表中,它与你的用户表之间有某种关系.这样做可以更轻松地优化数据的表存储方法,使事情更加整洁,并为可扩展性留出空间(例如,一般的“文件”表).

猜你在找的MsSQL相关文章