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