PHP - 如何使用超级全局$ _REQUEST数组重新提交服务器请求?

时间:2014-01-23 18:48:03

标签: php caching

我正在寻找一种以编程方式更新我的Web应用程序中的缓存文件的方法。

以下是目前的工作方式

  1. 向我的申请发出请求
  2. 使用md5()对请求数组进行哈希处理。这给了我一个独特的$requestID
  3. 检查缓存目录以查看此请求是否存在缓存页面(文件名为$requestID . '_' . $expiration
  4. 如果存在缓存页面,则会分析到期时间(前缀为文件名)。

    • 如果缓存页面尚未过期,则会立即将其返回给用户。
  5. 如果缓存页面已过期,或者缓存页面不存在,则会正常处理请求,并为下一个请求缓存构建的页面。

  6. 除了缓存页面之外,我还将$_REQUEST数组保存到单独的文件(requests.json下面),这样我可以稍后从cronjob重新提交请求(以编程方式更新缓存)。

    缓存目录如下所示。

    /cache
        /cached_page_1
        /cached_page_2
        /cached_page_3
        /cached_page_4
        /requests.json
    

    这是我想要做的事情

    requests.json是一个json字符串,用于将requestIDs(对我的应用程序发出的每个唯一请求)映射到$_REQUEST数组。

    array (size=3)
      'requestID' => string '6a8d36967bd6c409b75b3667d364e0b2' (length=32)
      'cachedFile' => string 'cache/cached_page_1' (length=80)
      'requestArr' => 
        array (size=2)
          'q' => string '/mysite/blog' (length=20)
          'title' => string 'Programming in PHP' (length=11)
    

    我想以下列方式构建一个利用这些数据的cron作业。

    1. 删除cache目录中的所有文件。这将确保调用上述过程中的步骤5
    2. 使用$_REQUEST数组(存储在requestArr中)将请求重新提交给服务器。
    3. 重新提交请求后,将更新缓存中的所有页面。

      问题

      • 如何使用超级全局$_REQUEST数组将请求重新提交给服务器?

0 个答案:

没有答案