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
+
0
-

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

Jan Tvrdík
Nette guru | 2595
+
-1
-
CZechBoY
Člen | 3608
+
+2
-

Ty tu cache ukladas dvakrat. Ve fallbacku a jeste v tele fallbacku…

matoni555
Člen | 40
+
0
-

CZechBoY napsal(a):

Ty tu cache ukladas dvakrat. Ve fallbacku a jeste v tele fallbacku…

Už jsem to pochopil, díky.