4

我正在尝试使用 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');

我哪里错了?

谢谢。

4

6 回答 6

4

您已使用

$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'])

检查文档

于 2013-09-21T01:56:56.673 回答
3

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

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

谢谢。

于 2013-09-23T19:13:52.400 回答
1

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

于 2018-12-16T13:22:09.727 回答
0

我在这里偶然发现了类似的问题。我的问题是没有安装 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
于 2017-12-13T11:36:44.430 回答
0

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

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

我修改了这两行..

于 2020-12-02T12:09:52.107 回答
0

我有同样的问题,但就我而言,这是存储问题。

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

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

于 2016-11-27T20:21:44.667 回答