Diskuze: globální nastavení Cache
Člen
Zobrazeno 4 zpráv z 4.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Ahoj,
já to v projektu řeším tak, že mám v configu:
services:
variablesCache: Nette\Caching\Cache(Nette\Caching\Storages\FileStorage(%tempDir%), "variables")
variables:
class: App\Model\Variables
setup:
- setCache(@variablesCache)
A pak v kódu (zjednodušeně):
class Variables
{
private $cache;
public function setCache($cache)
{
$this->cache = $cache;
}
}
Tou direktivou "setup" v configu zajistím, že mi DI Container automaticky zavolá metodu setCache a předá tu službu @variablesCache, jakmile se udělá instance té třídy Variables.
To zní Dobre, myslím ze to taky takhle využiji. Co všechno je Dobre takhle ukládat do cache v nette a doctrine aby to bylo co nejvíc svizné?
Obecně je dobré tam ukládat informace, které jsou složitější na výkon (např. Doctrine si tam ukládá informace o entitách dle anotací), případně které se často nemění. Já třeba mám ve hře cca 180 proměnných, které jsou uložené jako záznamy v databázi. Ty se ale mění jen zřídka, tak aby se všechny nemusely pořád tahat z databáze, tak si je uložím do cache, abych neměl stovku DB dotazů na stránku.
Jinak ale s cachováním moc zkušenost nemám, někdo zde by ti určitě dokázal odpovědět lépe.
Zobrazeno 4 zpráv z 4.