Nette/Cache a počet přístupů k souborům cache

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
nanuqcz
Člen | 822
+
0
-

Ahoj,
chtěl bych se zeptat z hlediska optimalizace pro rychlost. Kolikrát v tomto případě Nette/Cache bude otevírat nějaké soubory ze složky temp/cache a číst z nich data?

<?php
$storage = new Nette\Caching\Storages\FileStorage('temp/cache');
$cache = new Cache($storage);

$cache->save('foo', 'bar');  // zde proběhne zápis do souboru
echo $cache->load('foo');  // první načtení dat, předpokládám že Nette/Cache si data přečte ze souboru

for ($i = 0; $i < 1000; $i++) {
	echo $cache->load('foo');  // znovu výpis stejných dat - proběhne zde nové načtení dat ze souboru?
}
?>

Snad chápete, na co se ptám :-) Díky za odpovědi.

Editoval nanuqcz (24. 12. 2013 22:19)

Tomáš Votruba
Moderator | 1114
+
0
-

Ahoj,
myslím, že by ti hned odpověděl Debugger::timer(), resp. memory_get_peak_usage umístěný kolem smyčky.
Jestli tě tedy zajímá rychlost.

Případně koukni přímo na FileStorage->readMetaAndLock()

Editoval Tomáš Votruba (24. 12. 2013 22:41)

David Matějka
Moderator | 6445
+
0
-

kdyz kouknes do kodu, tak zjistis, ze to bude cist pokazde znovu.. tohle by nemelo optimalizovat nette, ale ty, abys tolikrat necet z cache.
kdyby to navic delalo nette a drzelo si data v pameti, hrozil by problem s pameti – GC by ta data nemohl odstranit..

kdybys chtel jednoduche globalni reseni, neni problem si napsat wrapper okolo klasickeho storage

nanuqcz
Člen | 822
+
0
-

matej21 napsal(a):

kdyz kouknes do kodu, tak zjistis, ze to bude cist pokazde znovu.. tohle by nemelo optimalizovat nette, ale ty, abys tolikrat necet z cache.

Díky, přesně to jsem potřeboval vědět :-)