【问题标题】:How to Variable Cache in PHP如何在 PHP 中变量缓存
【发布时间】:2011-10-26 05:35:57
【问题描述】:

我正在考虑尝试从 JSON 文件中缓存 PHP 中的变量。有没有人知道一个好的教程或可以提供一个例子?

【问题讨论】:

  • 持久缓存(在页面加载之间保存),还是仅在页面加载期间?
  • 对远程服务器的多个 JSON 数据请求。

标签: php json curl


【解决方案1】:

将变量保存到文件缓存:

file_put_contents('cache.txt', json_encode($variable));

将缓存读入变量:

$variable = json_decode(file_get_contents('cache.txt'));

【讨论】:

  • 那么在这个丹之前,我是不是也需要为要写入的文件创建一个区域?如果远程服务器发生更改,您是否知道设置变量到期的好方法
  • 想清扫你家的一个角落,然后把硬盘放在那里? ;) 不,没关系,计算机会将文件保存到与 PHP 脚本相同的目录中。您可以通过比较time()(当前时间)和filemtime('cache.txt')(文件的修改时间)来进行过期。
【解决方案2】:

Memcached 是您的最佳选择。它将任何可序列化的数据保存在非常快的缓存中。您可以在以下位置找到教程:

http://php.net/manual/en/memcache.examples-overview.php

它速度极快,并且具有许多其他功能,使其比仅将 txt 文件保存到服务器更好。

$memcache->set('key', $jsonstring, false, 10)

$get_result = $memcache->get('key');

【讨论】:

    【解决方案3】:

    一个简单的方法是:

    function getMyJson()
    {
        $data = apc_fetch('my_json', $wasCached);
        if ($wasCached) {
            return $data;
        }
        $data = json_decode(file_get_contents('/path/to/data.json'));
        apc_store('my_json', $data);
        return $data;
    }
    

    这使用 APC 的缓存,但您可以使用 memcached、redis 等类似的方式工作。

    【讨论】:

      猜你喜欢
      • 2011-08-05
      • 1970-01-01
      • 2014-03-24
      • 2017-06-05
      • 2013-08-31
      • 2015-04-15
      • 2011-09-16
      • 1970-01-01
      相关资源
      最近更新 更多