首先否定redis,这只是一种缓存,而且数据量不能太大
其次否定mongodb,因为mongodb主要还是存类json数据。gridfs只是针对小数据量的变通方案,不建议用在大量数据的情况下,否则不好维护。
这种大文件、碎文件建议用以下方案:
由于数据量大可能后期会用到分布式存储(块存储、对象存储看你需求),所以可以放在glusterfs、FastDFS、ceph等。如果数据量没那么大,就本地的(或者多台机器)的文件系统,如xfs即可
然后把文件名、路径、创建修改时间、文件占用大小等放在mysql等数据库中
占用空间和剩余空间可以直接在数据库中计算
图片视频的缓存可以考虑cdn方案