【问题标题】:php unlink continuouslyphp不断取消链接
【发布时间】:2011-02-17 09:56:38
【问题描述】:

我正在尝试使用 php unlink(),我想做的是运行一个 php 脚本,该脚本会在解析后每隔几分钟删除一次创建的文件。我可以使用 cron 或连续运行处理后台解析/删除的文件来做到这一点。我想问的是每隔几分钟就会删除文件,导致我的网络服务器出现问题,或者这样做时是否有任何性能下降或其他一些我想不到的负面影响?

另外,我如何创建一个文件队列以使用 php 处理和处置?这和我上面描述的有什么不同吗?

非常感谢任何帮助,我对此有点迷茫。

【问题讨论】:

    标签: php file queue delete-file unlink


    【解决方案1】:

    我认为该方法将基于一些变量...

    1. 您要为用户会话执行此操作吗?
    2. 您要严格按时间执行吗?
    3. 您正在创建的图像,它们是否在全球范围内存储或引用?
    4. 这些图像的使用时间是否延长,这段时间会改变什么吗?

    在我看来,最简单的解决方案是创建一个 cron 作业。如果您可以存储图像和创建日期(数据库或会话),那么当您的 cron 运行时,它可以评估创建时间与脚本运行时间并正确执行。

    您还有很多其他选择,但我认为这取决于列出的变量。希望这会有所帮助。

    【讨论】:

    • 关于您的问题 -> 1. 不,该进程将在后台运行(生成和解析/删除文件),独立于任何用户会话 2. 是的,它应该基于每 5 或 10 次的时间分钟 3. 它们被存储 4. 它们仅用于解析(我猜几毫秒),然后它们就不是必需的
    • 在这种情况下,我会选择 cron 作业。除非您的服务器空间紧张,否则我会每隔一小时左右(甚至更长时间)运行一次 cron,以降低负载(不确定您正在处理什么样的流量)。然后,您可以从脚本运行中取消链接超过 3-5 分钟创建的所有文件。 - 只是我的看法。
    • 感谢 True North Creative。所以基本上据我所知,我如何进行取消链接(cron 或其他方式)并不重要,即使它连续运行(比如每天执行两次删除),服务器上的负载也不会因为这个操作(删除)而显着,对?此外,每天或更短的时间间隔进行一次组删除会更好。请记住,文件每 5 分钟创建一次,因此每天一次,例如,批量删除大约 300 个文件,每个文件大约 1mb。谢谢
    • 如果磁盘空间不是问题,那么每天运行一次(或两次)就可以了,而且是理想的。它将资源保持在最低限度。
    【解决方案2】:

    解析文件可能会比之后删除它们产生更高的负载。如果不了解更多关于您的解析处理和服务器环境的信息,就不可能说是否会有任何明显的性能下降。

    我会创建一个 MySQL 表来保存要处理的文件列表。然后,您可以从一个脚本向表中添加条目,并在解析/删除它们后将其删除。

    【讨论】:

    • 解析只是一个substr_count,环境Virtual Dedicated Linux server。
    猜你喜欢
    • 1970-01-01
    • 2018-02-12
    • 1970-01-01
    • 2012-02-02
    • 2012-01-27
    • 1970-01-01
    • 1970-01-01
    • 2016-10-04
    • 2012-08-05
    相关资源
    最近更新 更多