【问题标题】:Search in host or connect to database在主机中搜索或连接到数据库
【发布时间】:2012-03-14 03:27:01
【问题描述】:

在我的主机中,我有超过 1000 个文件夹,我希望它能够达到超过 10000 个文件夹。

所有文件夹内容约 20 张图片。

我目前正在使用 scandir 列出一个文件夹中的所有图像并仅向用户显示一张图像。

所以,这是我的问题:为了在所有这些图像中只显示一张图像,我应该将它们的名称存储在数据库中,然后通过那里的 id 加载它们,还是使用 scandir 并搜索整个文件夹?

顺便说一句,我的脚本类似于 mangafox.com。

【问题讨论】:

  • 运行测试?总比传闻好。。

标签: php database image directory


【解决方案1】:

我无法给出任何确切的数字,但该数据库肯定会让您的网站更加快捷。扫描目录以显示图像肯定不会像在数据库中快速查找图像的路径并使用它那样缩放。

此外,您可以将数据库用于有关图像的其他元数据,例如,仅使用文件系统可能更难以将其添加到图像中的 cmets 或艺术家信息。

【讨论】:

    【解决方案2】:

    好像这是一个频繁的活动 - 你不想一直运行scandir。但是,如果文件经常更改,那么您就增加了一个额外的问题,即保持数据库与文件系统同步。

    这确实是在简单但有时很慢(使用scandir 构建文件列表)和复杂但更快(必须同步数据库和文件系统)之间进行权衡。

    我的建议是首先构建一个表示结果的数组或scandir 并将其缓存到文件系统。这可能更容易保持同步,并且仍然提供更快的性能(假设它用于单个文件夹,而不是整个结构)。

    【讨论】:

    • 我没有更改任何文件或文件夹,我目前正在使用阵列缓存系统。我只是问数据库是否更快。
    • @kamal 我是说数据库(可能)更快,但缓存scandir 的输出可能更快、更简单。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-17
    • 2015-06-27
    • 2021-10-20
    • 2018-09-16
    • 1970-01-01
    • 2018-10-18
    • 2021-06-05
    相关资源
    最近更新 更多