【问题标题】:codeigniter cache returns always emptycodeigniter 缓存返回总是空的
【发布时间】:2020-12-03 12:28:45
【问题描述】:

我正在尝试使用 Codeigniter 缓存系统,将一些远程 xml 文件缓存到“文件缓存”中。

当我请求 xmls 时,每个想法看起来都很棒,但 codeigniter 不缓存文件,而是返回一个空缓存,并且缓存文件只包含以下数据:

a:3:{s:4:"time";i:1379515910;s:3:"ttl";i:120;s:4:"data";b:1;}

我正在使用下面的代码来缓存 xml:

$this->load->driver('cache');
$this->cache->file->save('first', $data, 120);

[更新]

现在我可以保存缓存,但我无法挽救保存的数据。当我运行缓存下方的命令时,返回 false

$this->cache->get('show');

我哪里错了?

谢谢。

【问题讨论】:

  • $this->cache->file->save('first', $data, 120); 返回什么?如果保存失败,它将返回 false。您是否尝试过将一些简单的内容(例如字符串)保存到缓存中以检查它是否有效?
  • 您检查过日志和权限吗?可能是权限问题。
  • 我做了,日志不显示错误,缓存目录权限为777。可以保存缓存,但无法取回。
  • 您是否尝试过$this->cache->get('first'); 来取回数据?

标签: php codeigniter caching


【解决方案1】:

您已使用

保存它
$this->cache->file->save('first', $data, 120);

然后使用正确的key得到它应该是first

$this->cache->get('first');

另外,要获取有关cache 的信息,您可以使用

var_dump($this->cache->cache_info());

或者你可以使用

var_dump($this->cache->get_metadata('first'));

这对于调试很有用。 get 方法接受 cache_item_id 作为您在保存时使用的参数

get(id['string'])

检查documentation

【讨论】:

  • 文档链接已损坏。
【解决方案2】:

问题解决了, 当我调用该方法来获取当前缓存时,我需要传递使用过的驱动程序,例如:

$this->cache->file->get('home');
OR
$this->cache->memcached->get('home');

谢谢。

【讨论】:

  • “家”从何而来?你能解释一下细节吗?我遇到了同样的问题,获取缓存文件时总是返回false。
  • 这毫无意义。上面的代码将该项目保存为 first,您的原始帖子尝试获取名为 show 的缓存项目,而您的解决方案获取名为 home 的项目。 这个答案不好。
【解决方案3】:

只需在“应用程序”目录中创建文件夹“缓存”。它对我有用

【讨论】:

  • 如你所说,最好检查缓存文件夹是否存在。
【解决方案4】:

我有同样的问题,但在我的情况下是存储问题。

我的硬盘已 100% 满(因为一些错误日志)。

也许这些信息会对某人有所帮助。

【讨论】:

    【解决方案5】:

    我在这里偶然发现了类似的问题。我的问题是没有安装 APC 缓存。因此,如果其他人正在使用 APC 并遇到此问题。尝试安装 APC。

    ubuntu 1604 上的 PHP 7.1 示例:

    sudo apt-get update
    sudo apt-get install php7.1-apcu
    sudo service php7.1-fpm restart
    

    【讨论】:

      【解决方案6】:

      我也遇到同样的问题...

      $this->load->driver('cache', array('adapter' => 'apc', 'backup' => 'file'));
      $this->cache->file->save('first', $data, 120);
      

      我修改了这两行..

      【讨论】:

        猜你喜欢
        • 2012-10-12
        • 1970-01-01
        • 2021-08-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-10
        • 2019-04-20
        相关资源
        最近更新 更多