2013-09-20 2 views
3

Я пытаюсь использовать систему кеширования Codeigniter, чтобы кэшировать некоторые удаленные XML-файлы в «кеш-файлы».codeigniter cache возвращает всегда пусто

Каждый мозговым выглядит здорово, когда я просить 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); 

[ОБНОВЛЕНО]

Теперь я могу сохранить кэш, но я не могу спасти сохраненные данные. Когда я запускаю команду под кэш вернуть ложные

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

Где я буду неправильно?

Спасибо.

+0

Что такое '$ this-> cache-> file-> save ('first', $ data, 120);' return? Если сбой сохранения недействителен, он вернет false. Вы пытались сохранить что-то простое в кеше, как строку, чтобы проверить, работает ли она? – Jeemusu

+0

Он возвращает true – GodFather

+0

Вы проверили журналы и разрешения? Может возникнуть проблема с разрешением. – Jakub

ответ

3

Проблема решена, , когда я вызываю метод, чтобы получить текущий кэш мне нужно передать используемый драйвер т.д .:

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

Спасибо.

+0

Откуда начинается «дом»? Не могли бы вы объяснить детали? У меня такая же проблема, всегда возвращаю false, когда вы получаете кешированный файл. – Praditha

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.

0

У меня была такая же проблема, но в моем случае это были проблемы с хранением.

мой hdd был на 100% заполнен (из-за некоторых журналов ошибок).

Возможно, эта информация поможет кому-то.

0

Я споткнулся здесь с аналогичной проблемой. Моя проблема заключалась в том, что кеш APC не был установлен. Поэтому, если кто-то еще использует APC и имеет эту проблему. Попробуйте установить APC.

Пример PHP 7.1 на ubuntu 1604:

sudo apt-get update 
sudo apt-get install php7.1-apcu 
sudo service php7.1-fpm restart 
Смежные вопросы