Kešování výsledku SQL dotazu v rámci requestu

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

V aplikaci se připojuji k několika databázím. Během requestu jim aplikace pošle několik dotazů, z nichž některé jsou stejné. Mohu nějak kešovat výsledek dotazu v rámci aktuálního requestu, aby se dotaz na databázi nemusel posílat vícekrát? Můj kód vypadá takto:

<?php
		$connection = new \Nette\Database\Connection($dsn, $username, $password);
		$connection->setCacheStorage(new \Nette\Caching\Storages\MemoryStorage());
?>
bazo
Člen | 620
+
0
-

uloz si ten vysledok do premennej?

petr.pavel
Člen | 535
+
0
-

Jestli je to stejné jako u NotORM, tak tahle CacheStorage kešuje jen strukturu databáze, ne výsledek dotazu. Řešením podle mě je vytvořit si na tenhle dotaz službu (např. přes config) a používat ji. Tj. nesestavovat dotaz znovu přes obecné connection a přidávat table, where… NDB už samo pozná, že dotaz položilo a další její volání vrátí stejná data bez komunikace s databází.