原本是将图片直接存在mysql,后面发现这样是非常不合理,数据文件很快就会非常大(1千张图片就将近1G左右),文件太大非常影响查询速度
现在决定在数据库中存放文件路径,然后根据文件路径以静态资源的方式获取图片
当图片达到100万张时是否会出现性能急速下降?
又或者有更好的解决方法?
原本是将图片直接存在mysql,后面发现这样是非常不合理,数据文件很快就会非常大(1千张图片就将近1G左右),文件太大非常影响查询速度
现在决定在数据库中存放文件路径,然后根据文件路径以静态资源的方式获取图片
当图片达到100万张时是否会出现性能急速下降?
又或者有更好的解决方法?
不会出现性能急速下降,因为业界都是这样做的,数据库只存储路径。
一般都是用 nginx 做静态文件服务器。好安装、好配置。可以考虑针对图片做一下缓存。
一般来说会存多张图片,比如说原图、缩略图,原图用于放大查看,缩略图用于列表展示。
最后就是把图片上传到存储,上 cdn。(花钱)
可以选择数据库表记录key url 实际文件储存在七牛云。请问您是想做什么类型的图片分享站点? 我也有相似打算,目前采用Spring cloud + vue3.2 Ssr。
4 回答1.8k 阅读✓ 已解决
4 回答1.5k 阅读✓ 已解决
8 回答1.4k 阅读
3 回答1.4k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
2 回答2k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
对于大量文件,不建议直接存放在业务服务器上。通常的做法是将文件存储在单独的非结构文件存储服务器上,压缩存储,节省空间。对于个人开发来说,使用 minio 足够了