这两天这个问题一直困扰着我,理理思路不外乎这两种
(1)大对象存在数据库中
(2)大对象存在文件系统,数据库里放连接
第一种情况,优点是明显的,数据的一致性好,可维护性好,缺点是效率比较大,如果在1000万条的记录中,有十几个并发的话,数据库的效率比较低,当然第一种的优缺点与第二种正好相反,第二种的问题在于如何解决同步问题,即文件系统中的文件被删除掉,数据库的连接应失效.去网上看了一些参考整理后,我觉得这样也行,大家提提意见
大对象并入数据库的同时也存入文件系统中,并且数据库中保留文件系统中的此大对象的连接
这时用户请求时,先去文件系统中查找,如果有则直接下载,如果没有则把数据库中的大对象恢复到文件系统中并给用户下载.
另外种是数据库里不放备份,就直接放在文件系统中,而做一个文件监视器,当用户对文件系统的中文件有任何操作时,将直接更新数据库.目的就是保持一致性.
大对象的存储问题一直是个大问题,如果您有好的建议,不妨交流一下
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步