gpt4 book ai didi

php - 在 PHP 中执行服务器端输出缓存的最佳方法是什么?

转载 作者:可可西里 更新时间:2023-11-01 13:23:39 27 4
gpt4 key购买 nike

我现在有一个非常复杂的 index.php,我想每小时只运行一次。实现这一目标的最佳方法是什么?我的一些想法

  • 使用 apc_store($page, 60*60*) 将其放入 APC - 我觉得这不是 APC 的目的,并且可能会对我网站的其他部分造成不良影响
  • 将输出保存到某处的文件系统 - 然后 apache 需要某处的写访问权,这可能很痛苦
  • 可以通过某种方式设置 apache 来为我进行缓存 - 这可能吗?

最佳答案

  1. 当访问者点击您的页面时,生成内容,将其发送给用户并将静态文件保存在磁盘上的某个位置。
  2. 当下一位访客到来时,首先查找已保存的文件,如果存在,则提供该文件,而不是执行 index.php 文件中的所有代码。一个基本的例子是

    if (file_exists($cacheFileName))
    {
    require $cacheFileName;
    exit;
    }

    // here goes the rest of your index.php code
    //..

    // assuming your output is buffered and is contained in $output:
    echo $output;

    $cacheFileName = '/path/to/your/file.inc';
    file_put_contents($cacheFileName, $output);
  3. 设置一个将删除的 cron 作业您从磁盘保存的缓存文件每小时或您需要的频率到。或者,在您的 index.php 中,在每个页面上点击检查创建缓存文件的时间,如果它存在的时间比您希望的时间长,则生成一个新的缓存文件。不过,cron 作业更容易设置。

要回答这个深刻的哲学问题,如果您不想依赖第三方缓存解决方案,那么将生成的输出以单独的文件保存到磁盘可能是最好的方法。 APC 非常适合缓存将在需要时重新生成页面的代码,而如果我们谈论的是小型应用程序,则 memcached 绝对是大材小用。

关于php - 在 PHP 中执行服务器端输出缓存的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2205506/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com