代码之家  ›  专栏  ›  技术社区  ›  rnjai

在php中缓存包含的远程文件

php
  •  0
  • rnjai  · 技术社区  · 6 年前

    我把一个远程文件

    allow_url_include = On
    

    在file.php中使用include_一次包含该文件

    include_once ("http://abcd.com/func.php");
    

    我用的是简单的灯组。

    我的问题是,对于每个到达服务器并使用file.php的请求,func.php都将从abcd.com中提取。在一个请求中,如果file.php被多次包含在其他文件中,那么func.php是否每次都会被提取?

    1 回复  |  直到 6 年前
        1
  •  0
  •   SirPilan    6 年前

    这个 _once 意味着您将在每个请求中加载一次文件。但会在新的请求中再次加载。如果要缓存此文件的某些响应,请 return 在包含的文件中保存结果。例如在文本文件中(即,作为JSON字符串)在下一个请求中,检查该文件是否存在。

    但是,保存在文本文件中可能不是最有效的方法,但可能比每次请求此文件要快。看一看 Memcache

    包含在变量中: $data = include_once('...'); (包括必须有回报)

    $data = cached_include('..') (为获取缓存数据而编写的函数)