gpt4 book ai didi

php - 数据大小没有限制时的有效数据存储

转载 作者:搜寻专家 更新时间:2023-10-30 20:29:00 25 4
gpt4 key购买 nike

我有一个 PHP 应用程序,它从用户那里获取对象,并将它们存储在服务器上。类似于上传-下载服务。该对象可能只是一串文本,也可能是任何类型的媒体对象,如电影、歌曲等。即使发送的是简单的文本,发送的文本也可能很大(可能是一整本电子书)。目前,我这样做的方式是,将所有这些数据写入文件,因为文件没有大小限制。

编辑:澄清一下,我正在寻找一种通用且高效的数据存储方式,无论采用何种格式。例如,用户可以发送字符串“嗨,我是 XYZ”。我可以使用“fopen”、“fwrite”等文件操作来存储它。如果用户发送的是MP3文件,我可以再次使用“fwrite”,文件的数据将原样写入,MP3格式不受影响。目前这很完美,没有问题。所以“fwrite”是我这里的通用接口(interface)。

我的问题:有没有更好、更有效的方法来做到这一点?

感谢您的帮助!

最佳答案

这个问题的答案相当复杂。您绝对可以将此类对象作为 LONGBLOB 对象存储在数据库中——除非您进入长片电影领域(大小限制为 32 位)。

一个更重要的问题是如何将对象返回给用户。 “blob”对象在返回结果时不会给您很大的灵 active (它来自单行查询)。从文件系统读取可能会提供更大的灵 active (例如检索文本文件的一部分以查看内容)。

另一个问题是备份和恢复。将对象存储在数据库中会大大增加数据库的大小,需要更多的时间来恢复数据库。如果出现问题,您可能会很高兴在实际访问对象之前恢复数据库(用户可以看到他们拥有的对象)。

另一方面,拥有数据库和对象的单一图像可能很方便,可以方便地移动到备份服务器。或者,如果您使用复制来保持多个版本同步,则将所有内容存储在数据库中是免费的(假设您在两台服务器之间有高带宽连接)。

我个人倾向于认为这样的对象更适合文件系统。这确实需要为应用程序提供稍微复杂一些的 API,它必须从两个不同的地方检索数据。

关于php - 数据大小没有限制时的有效数据存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16255841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com