将文件存储在服务器(PHP)上的可扩展方式



我正在创建我的第一个Web应用程序 - 一个非常简单的在线文本编辑器。我需要做的是找到存储基于文本的文件的最佳方法 - 其中很多。这些文本文件的大小可以过去10,000个单词(文本单词而不是计算机单词。)本质上,我希望文本文档的大小无限。

我正在考虑将文本文件存储在我的MySQL数据库中 - 但认为有更好的方法。取而代之的是,我正在计划在服务器上的目录中以基于XML的格式存储文本文件。数据库中的行定义了基于XML的文本文件的名称以及与基本元数据一起创建文本的用户。使用V4 GUID生成器生成ID,该ID可以使文本具有ID,并将文本存储在我的服务器上的"/store"目录中。我的服务器中的文本定义包含此ID,并且我正在开发的Android应用程序通过检索文本定义,然后使用文本定义中的GUID将文本定义下载到本地设备,从而获取文本文件的内容。

我只是认为这是一项疾病的工作?如何改进该系统?

有指导碰撞的情况。我不希望这种情况发生。"细长"的可能性还不够好 - 我需要确保在GUID碰撞中绝对没有机会。我正计划在使用特定ID存储文本之前检查数据库中具有相同ID的文本 - 但是,我相信我的数据库中有超过20,000件文本,这将需要很长时间,并在服务器上产生不需要的压力。

如何使GUID安全?

当Guid碰撞时会发生什么?

服务器后端将写在php中。

您在这里有几个问题,所以我会尝试回答所有问题。

XML是与GUID的最佳方法吗?

"最佳"通常是主观的。当然,这是一种方法,但是您可能会添加不需要的开销。如果只是要存储的文本,为什么不将其放入SQL中,使用varchar(MAX)

GUID碰撞是可能的吗?

是的,但是发生这种情况的机会很小。荒谬的小。有更大的事情要担心。

如何使GUIDS安全?

停止担心它们。

当Guid碰撞时会发生什么?

这取决于您如何使用它们。在这种情况下,存储在GUID指示的位置中的旧数据可能会被新数据覆盖。

好吧,我不知道ID是否使用GUID,我可能只使用db表上的auto_increment键并将其命名,因为除非您从DB中删除了DB的记录,否则文件系统将永远是唯一的。我不知道GUID是否是Android方面的要求。

使用mysql存储文档没有错!

在XML中存储它们会为您提供什么?添加额外的格式层只会在要读取和格式化时增加处理时间。

将它们作为文件放在磁盘上上的文件与将它们存储在rdbms中并没有什么不同,并且从长远来看可能会导致您进一步的问题。(我想到的是文件访问,磁盘检索,锁定,比赛条件)。

相关内容

  • 没有找到相关文章

最新更新