Всем привет,
Хочется сделать кеширование из 2х таблиц которые будут нечасто обновляться. В общем это таблицы с товарами импортируемые из другой системы.
Я представляю это себе так, что как только я записал данные в таблицы я устновлю значение в таблице настройки и оно будет считано
Код:
$lifetime = 99999999999; // Очень большой период жизни кеша
$Goods_List_Name= 'Goods_List_Name';
$RecreateCache= true; // Прочитали из базы
if ( $RecreateCache ) { // Если новые данные то читаем из базы и запишем в кеш
$GoodsList = $ModelGood->getGoodsList( false, '', $filters_array, $sort, $sort_direction );
Kohana::cache( $Goods_List_Name, $GoodsList , $lifetime );
} else { // Если новые старые то читаем их из кеша
$GoodsList= Kohana::cache($Goods_List_Name);
if ( empty($GoodsList) ) { // Если данных в кеше не нашли - то пересоздадим их
$GoodsList = $ModelGood->getGoodsList( false, '', $filters_array, $sort, $sort_direction );
Kohana::cache( $Goods_List_Name, $GoodsList , $lifetime );
}
}
И проблема как раз с параметром $lifetime - похоже что он не так работает как я ожидал и что после 60 секунд кеш ВСЕГДА пересоздается
Я нашел в исходниках :
Код:
* @param string $name name of the cache
* @param mixed $data data to cache
* @param integer $lifetime number of seconds the cache is valid for
* @return mixed for getting
* @return boolean for setting
*/
public static function cache($name, $data = NULL, $lifetime = NULL)
Не пойму , что неправильно ?