Nastavení config pro Cache

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

Zdravím vás.
Začínám z Cache, ale zaskočila mě ještě jedna věc v configu.
Chtěl bych si vytvořit cache s tagy dle dokumentace začal jsem psát – vytvořil storage, cache. Zkusil jsem přidat TAG k položce v cache, překvapila mě výjimka o Journalu (v dokumentaci se o Journalu nepíše), vytvořil jsem FileJournal, vše funguje paráda, jednoduché.

Nyní jsem chtěl (a to nevím jestli je dobrý nápad, ale dle mého názoru ano) vytvořit FileJournal, FileStorage a Cache v configu.

	aclJournal: Nette\Caching\Storages\FileJournal('temp/acl')
	aclCacheStorage: Nette\Caching\Storages\FileStorage('temp/acl', @aclJournal)
	aclCache: Nette\Caching\Cache(@aclCacheStorage, 'ACL')

Nette ale vyhodí: Service ‚cacheStorage‘: Multiple services of type Nette\Caching\Storages\IJournal found: nette.cacheJournal, aclJournal čemuž pravděpodobně rozumím (prosím opravte mě, jestli se pletu). Jedná se o to, že jsem vytvořil aclJournal = IJournal a služba cacheStorage chce jakýkoliv IJournal, ale neví který si mí vybrat.

V configu ale žádná služba cacheStorage není napsaná, resp. určitě existuje. Jak se toto řeší?

Jan Tvrdík
Nette guru | 2595
+
0
-

Buď pro aclJournal nebo nette.cacheJournal vypneš autowiring (autowire: false).

thm
Člen | 147
+
0
-

Aha :) díky moc – jak snadné.
Kdybych chtěl vypnout autowiring u nette.cacheJournal, tak jí do configu musím dopsat? Nebo jak se toto dělá u služeb, které nejsou v configu?

David Matějka
Moderator | 6445
+
+1
-

IMHO vubec nechces a nepotrebujes vytvaret vsechny ty sluzby, proste si injectni Nette\Caching\IStorage a tam, kde to budes pouzivat, si vytvori instanci Nette\Caching\Cache

thm
Člen | 147
+
0
-

@DavidMatějka ok tomu rozumím (asi), ale nemůže se stát, že přepíšu nějaký klíč v cache o kterém nevím, že tam je?

David Matějka
Moderator | 6445
+
0
-

tim, ze nastavis namespace (druhy parametr v konstruktoru Cache), tak budou ty zaznamy oddelene.

Jen pozor, v pripade mazani dle tagu nikoliv – smazou se vsechny zaznamy s tim tagem bez ohledu na NS.

thm
Člen | 147
+
0
-

Ok, díky moc za užitečné info!