基于nodejs的工程如何保存小文件比较好?
假设我要做一个MP3下载网站, 封面的文件一般在10K以下, 再加上用户的头像, 也就是说我有大量的小图片需要存储 每个页面浏览时都会有很多图片请求
我需要这些小图片存的省,读得快
如何存放类似头像这样的小文件比较节省性能? GridFS? 直接保存在文件夹里面? 如果需要缓存的话应该用什么技术呢? 请大家畅所欲言, 教教我这个菜鸟
6 回复
数据存gridfs,前端通过nginx proxy_cache或者Varnish代理缓存下
我找了一些书, 上面说gridfs是用来存储大文件的, 尤其是流媒体文件, 存小文件时因为要读2次数据库, 所以反而会变慢, 再者我也不清楚这样返回存储小文件是否能正常返回304
都是特别小的文件可以直接存mongodb 二进制字节数组里面,不需要gridfs,我的用户头像就是是这么用的
用七牛得了,免费套餐够你用了~
本宝贵的建议, 以前真不知道这个东西, 不过我还是希望自己用nodejs解决这个问题
@anubiskong 用nodejs 还不简单,建议直接存文件得了,直接通过nginx来获取~ 静态文件,css,js,图片,这类,还是交给nginx~