项目缩略图怎么存MySQL

在做项目的时候,遇到一个问题,前端那边会截取浏览器中的内容,生成截图(base64),发送到后端进行保存。频率是3s一次,要怎么去保存这个数据比较好。目前采用直接存放base64到数据库中,感觉这样很快就会造成业务瓶颈,所以想要有更好的解决方案。

1、类似于ProcessOn网站(图2)
图片说明

图片说明

  1. 尽量减少保存操作,在业务上减少不必要的保存操作
  2. 使用缓存,减少数据库压力
  3. (推荐)更改架构,base64不存放在数据库里,使用OSS对象存储讲base64转成文件,都不用自己搭建sFTP服务器了,更新操作由后台执行请求OSS服务,数据库里只存放OSS对象的地址,加载缩略图时直接通过域名请求图片。

前端把图片直接存阿里云OSS返回url存mysql

两个办法,一个是把思维导图的数据用json/xml等格式存入数据库,用户获取的时候读取出来然后用程序即时渲染
好处在于,一个数据量比较小,一个是思维导图的内容,可以方便地索引

另一个是以二进制图片的形式存入数据库(blob binary image等类型)。这种方式就和上传一般的图片存入数据库没有什么区别。
这个办法还有一个变通,就是把图片存入文件目录,而数据库只保存文件名和路径,这样比较快,性能好。