Invalidace cache s nastaveným časem
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- matoni555
- Člen | 40
Ahoj,
používám nette/caching 2.3.0 a mám problém s invalidací cache. Jako
cache storage používám FileStorage.
Kód v presenteru vypadá takto:
$this->template->headerMenuHtml = $cache->load('headerMenu', function() use ($cache) {
$headerMenuHtml = file_get_contents('https://www.example.com/get?menu');
$cache->save('headerMenu', $headerMenuHtml, array(
Cache::EXPIRE => '5 minutes',
));
return $headerMenuHtml;
});
Problém je, že řetězec v cache zůstává trvale a po 5-ti minutách se neinvaliduje (nezavolá se funkce jako druhý parametr funkce load).
Obsah cache souboru vypadá takto:
<?php //netteCache[01]000048a:1:{s:4:"time";s:21:"0.69701500 1461265655";}?><div ...
Proč se cache neinvaliduje, i když je nastavený čas expirace?
Díky za rady