Главное меню
список тем создать тему

Кэш неверно возвращает значения (null | false)

Версия: 3.2

Тип: Ошибка
Статус: Завершено
Важность: Если время будет
Описание
При использовании кеша в файлах
вот такой код:
$this->cache=new Cache_Generic();
var_dump($this->cache->get('some_not_cached_data'))

вернёт false, но если при этом использовать memcache этот же код вернёт null
 
Надо исправить:
1. Файл /kernel/classes/Cache/Memcache.php, строка 50
return $result?$result:null;

заменить на
return $result?$result:false;

Как отдельный баг, могу заметить что
$this->cache->set('avia_country_data_'.md5($country),$return,31536000);

 
не установится в memcache из-за того, что ему не нравится время.
> FOUND KEY avia_city_data_a251cf50dd7306c3b0ea91ad2fb9c8fe -nuked by expire

 
Если поставить там 0 то кешируется отлично.
И еще. Я включил кэширование сайта в настройках конфигурации. Но в логе мемкеша не вижу чтобы сайт предпринимал даже попытки кешироваться. Надо отключить debug.
 

И еще. Кнопка "Сбросить кэш" не сбрасывает кеш мемкеша.
Спасибо. Внес правки - вечером добавлю.
 
random2:
И еще. Кнопка "Сбросить кэш" не сбрасывает кеш мемкеша.

Это такая "фича" мемкэша - реально память не очищается, но весь кэш помечается как устаревший. Вот тут как раз об этом пишут
Исправлено в ревизии 707