3

我有一个“理论”问题,看看我正在计划的解决方案是否有意义:

我有一个脚本,可以从数据库中读取大量数据,包括设置、配置等 - 并构建该脚本(针对每个注册用户)。我不会详细说明为什么或究竟是什么。

我的想法是,我实际上只能这样做一次并创建一个.inc带有用户 ID 的文件来缓存它。如果用户更改某些内容,当然会重新创建文件。

但是现在,假设我这样做了,有 1'000'000 - 甚至更多的文件。在包含这些文件时,我会遇到问题吗?(总是一个特定的文件,而不是一次每个文件)。这通常是一个好主意,还是我只是用这个更加强调服务器?

而且我计划将所有内容放在同一个缓存文件夹中 - 如果我将该文件夹拆分为多个文件夹,我会提高性能吗?

谢谢您的帮助。

4

2 回答 2

2

您将受到文件系统的限制。不可能在一个文件夹中访问那么多文件。你可以这样做:

  1. 散列文件名:file1.php变为3305d5836bea089f2a1758d8e89848c8
  2. 将哈希分成几个部分:3/3/0/5/d/5836bea089f2a1758d8e89848c8
  3. 完成
于 2012-08-08T14:36:14.863 回答
2

一些文件系统不允许这样做,并且在许多文件系统上会非常慢 - 一个文件的简单查找将非常慢,以至于您的程序将一直寻找磁盘而几乎不消耗 CPU。如果您拆分这些文件,这样您的每个文件夹不会超过数千个文件,您的情况会好得多。

请参阅此答案

于 2012-08-08T14:36:22.507 回答