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

PHP-如何使用超级全局$\u请求数组向服务器重新提交请求?,php,caching,Php,Caching,我正在寻找一种方法,以编程方式更新我的web应用程序中的缓存文件 下面是它目前的工作原理 对我的申请提出了要求 使用md5()散列请求数组。这给了我一个唯一的$requestID 将检查缓存目录,以查看是否存在此请求的缓存页(文件名为$requestID.'.'.$expiration 如果缓存页确实存在,则会分析过期时间(在文件名之前) 如果缓存的页面尚未过期,则会立即将其返回给用户 如果缓存的页面已过期,或者缓存的页面不存在,则会正常处理请求,并为下一个请求缓存生成的页面 除了缓存页面外

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

下面是它目前的工作原理
  • 对我的申请提出了要求
  • 使用
    md5()
    散列请求数组。这给了我一个唯一的
    $requestID
  • 将检查缓存目录,以查看是否存在此请求的缓存页(文件名为
    $requestID.'.'.$expiration
  • 如果缓存页确实存在,则会分析过期时间(在文件名之前)

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

  • 除了缓存页面外,我还将
    $\u请求
    数组保存到一个单独的文件中(
    requests.json
    ),以便以后可以从cronjob重新提交请求(以编程方式更新缓存)

    缓存目录如下所示

    /cache
        /cached_page_1
        /cached_page_2
        /cached_page_3
        /cached_page_4
        /requests.json
    
    这就是我要做的
    requests.json
    是一个json字符串,它将
    requestId
    (向我的应用程序发出的每个唯一请求)映射到
    $\u 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作业,以以下方式利用这些数据

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

    问题:
    • 如何使用超级全局
      $\u请求
      数组向服务器重新提交请求

    在$\u请求数组中,您希望重新提交的内容是什么?这听起来有点奇怪,只是发送了所有的GET和POST数据。我正在尝试复制缓存文件时发出的确切请求,并重新提交以更新缓存的内容如果您第一次处理它,您已经有了数据,大图片是什么这里是真的吗?为什么要重播来生成缓存?为什么不将请求的散列(或者至少是请求中有意义的数据)装箱,并将其用作缓存的密钥查找?我已经用一个具体的示例更新了我的问题,说明了我试图对$\u请求数组执行的操作