网站图片存储方式

2011-05-10 13:33:35 +08:00
 leben
请问大家都是怎么处理照片存储的,file还是数据库。不同尺寸图片是直接读取原图生产,还是事先切割好的。
目前我采用的方案是imagick生成不同尺寸图片,然后分文件夹存储,感觉速度太慢,而且管理很麻烦。
计划使用mongodb来存放,只存储原图,各个尺寸请求时生成(这个实在没办法,boss画出来的ui图片尺寸经常发生变化,指望事先都切割好几乎不太可能)。
另外,大家觉得生成不同尺寸图片是同步还是异步好。

有经验的朋友分享和指点一下吧。谢谢。
@livid 能不能谈谈footbig的经验,很可惜这个项目停掉了。
6283 次点击
所在节点    问与答
12 条回复
26z
2011-05-10 13:51:36 +08:00
目前在做的项目是将图片存进mongo数据库,请求时生成指定大小,非专业人士觉得似乎不太好。
joyqi
2011-05-10 14:18:48 +08:00
原来做过一个nginx模块,在图片输出时按照参数输出指定大小的图片,也是用imagick的lib做的,前端再放两台squid,基本就可以搞定了
leben
2011-05-10 14:18:52 +08:00
@26z 这是plan,目前是直接放在磁盘上。
leben
2011-05-10 14:51:47 +08:00
@joyqi 后台存储呢?
joyqi
2011-05-10 14:57:50 +08:00
后端直接放文件
bergkamp
2011-05-10 15:48:21 +08:00
切割好,存文件,可以第一次访问时候生成,但一定要存文件
leben
2011-05-10 16:02:49 +08:00
@joyqi @bergkamp 存文件,备份就是复制文件夹吗?另外,这种方式一般要到多少文件,磁盘IO才会成为瓶颈。
ratazzi
2011-05-10 16:05:20 +08:00
第一次访问时生成吧,生成的不用怎么管理,保存好原图就可以了,如果存 mongodb 的话可以看下 QCon 视觉中国的 keynote,会有一些帮助或者说参考
predator
2011-05-10 16:58:51 +08:00
后端无所谓,最成熟稳定的应该是用mysql的innodb了,做好分片应该问题不大
前端用imagick做实时生成,挡一个squid或者varnish,如果前面还有CDN就更好了

我觉得这个思路可行,正在进行中

传统的预生成图片方式已经跑了十年,文件数太多了之后备份起来痛苦无比。
undefined
2011-05-10 17:05:39 +08:00
store in cloud.
qichangxing
2011-05-11 20:51:35 +08:00
leben
2011-05-12 11:31:52 +08:00
@qichangxing 豆瓣貌似就把图片保存在beansdb里吧,视觉中国用的mongodb。这几天试下来,我觉得mongodb是个好东西,呵呵。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/12819

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX