【问题标题】:Creating a Database service创建数据库服务
【发布时间】:2018-09-11 22:21:08
【问题描述】:

我在带有 Digital Ocean 的虚拟 Linux 机器上运行 Nginx 和 PHP。我使用一个非常简单的文件夹和文件系统作为数据库,如下所示:

--Users
  --User1
    --file1.json
    --file2.json
  --User2
    --file1.json
    --file2.json

Nginx 很容易阻止公共访问 Users 目录,每个用户大约有 60 个 json 文件。登录时,我对它们每个都执行file_get_contents() 并将所有数据发送到浏览器。当我需要保存文件时,我只在该文件上使用file_put_contents()

在用户注销时,我想将所有用户文件合并到 1 个json 文件中,这样在下次登录时,我可以通过在一个文件上执行file_get_contents() 来更快地加载用户。使用 PHP 很容易做到这一点,但它似乎不是正确的方法。感觉 PHP 应该将此传递给机器上的某种服务,而不是使用 php 处理。我的 3 个问题是:

  1. 这类任务通常如何处理?
  2. 是否有一个特定的名称,我可以用谷歌搜索以两种不同方式维护数据的过程(一种方式用于初始加载,另一种方式用于更新数据而无需对整个文件执行 file_get_contents()更新一小部分数据)。
  3. 或者我应该取消 60 个较小的文件并将其存储为 1 个文件。如果我这样做,我是否应该关心每次用户想要更新大约 1kb 的数据时提取整个 116kb 文件?每次更新不到 1kb 的数据。

【问题讨论】:

    标签: php nginx flat-file


    【解决方案1】:

    你真的应该研究一下 SQL 数据库,如果你的应用程序很小,你可以使用SQLite,如果你的应用程序更密集,那么你可以使用MySQL,你可以将数据存储为 JSON 格式,然后只需提取您的信息并将其回显给客户

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-24
      相关资源
      最近更新 更多