codeigniter cache总是返回空

时间:2013-09-20 14:16:04

标签: php codeigniter caching

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

我哪里错了?

感谢。

6 个答案:

答案 0 :(得分:2)

您已使用

保存了它
$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

答案 1 :(得分:2)

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

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

感谢。

答案 2 :(得分:0)

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

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

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

答案 3 :(得分: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

答案 4 :(得分:0)

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

答案 5 :(得分:0)

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

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

我修改了这两行。