我尝试使用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');
我哪里错了?
感谢。
答案 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'])
答案 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);
我修改了这两行。