gpt4 book ai didi

python - 用于简单数据存储的文件与数据库的内存使用情况

转载 作者:太空宇宙 更新时间:2023-11-03 19:30:24 27 4
gpt4 key购买 nike


我正在为具有同步功能的 Javascript 应用程序编写服务器。客户端创建和修改的文件和目录需要同步到服务器(在客户端上进行的相同更改需要在服务器上进行,包括删除)。

由于每个文件都在服务器上,因此我正在讨论是否需要与每个文件对应的 MySQL 数据库条目。每个用户的每个文件/目录都需要保留以下信息:

  1. 是否已删除(因为删除需要同步到其他客户端)
  2. 每个文件最后修改的时间戳(这样我就知道该文件是否需要客户端更新)

我可以将这两条信息保存在文件中(例如,每个用户目录中的 .deleted 文件和 .modified 文件,后者包含文件路径和时间戳)或数据库中。

但是,我还必须适应 80mb 内存限制。文件存储和之间数据库存储,对于此目的,哪种内存效率更高?

编辑:文件必须存储在文件系统上(而不是数据库中),并且用户可以使用的存储空间有配额。

最佳答案

只要文件数量较少,文件系统变体可能会在内存方面更加高效,但该解决方案可能无法扩展。数据库经过优化就是为了做到这一点。随着文件和请求数量的增加,搜索文件系统、打开文件、搜索文档的成本将会很高。

但没有人说你必须使用 MySQl。像 Redis 这样的 NoSQL 数据库,或者像 CouchDB 这样的数据库(您可以在其中保留文件本身并包括版本控制)可能是更具吸引力的解决方案。

这里是 NoSQL databases 的快速比较。还有一个longer comparison .

编辑:根据您的评论,我将按如下方式构建它:创建一个 API,为您想要执行的所有操作抽象后端。然后使用文件系统和数据库(或两个)最常发生或可能更昂贵的 2 或 3 个操作来实现后端部分。测试和基准测试。

关于python - 用于简单数据存储的文件与数据库的内存使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6180732/

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