cache – zvysi jeho pouzitie vykon pri vybere z DB?

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

zdravim,

cache som este nikdy nepouzil a preto mam otazku na jeho vykonnost.

nakolko sa vyuziva suborovy system, zaujima ma, do akej miery ma vyznam ukladat vysledky vyberu z DB. drzi sa cache v pamati? ako dlho (chapem expiraciu – ale zaujima ma, dokedy je v pamati a kedy sa uklada na disk)?

konkretne vyberam z DB data z tabulky, ktora drzi jazykove mutacie vsetkych moznych textov GUI. zrejme to nie je idealna implementacia, ale gettext nemozem pouzit. tych textov je celkom dost a hlavne z nich vyrabam asociativne pole – teda moznost cachovat cele toto pole by bola vyhodna. otazka je, ci je rychlejsie zavolat $cache['trans'] ako dibi::query('select * from trans where lang=xx')->fetchAssoc();
taktiez nieco podobne robim s menu, ktore sa prakticky nemeni a dotaz na menu je cez viacero tabuliek pomerne zlozitejsi.

dik za odpovede.

inak, cital som si toto, ale o vykone tam nie je ani zmienka

Aurielle
Člen | 1281
+
0
-

Čtení z cache často trvá déle než jednoduché SQL dotazy, proto od toho teď upouštím… ale záleží na konkrétním použití, obě varianty si změř a rozhodni se, co je pro tebe výhodnější.

newPOPE
Člen | 648
+
0
-

Kedze nemas k dispozicii gettext, mozno by chcelo skusit *.ini subory.

Parsovanie by malo byt rychle a dostanes hned assoc pole. Ale porovnat z hlavy si to netrufam :-)

xr
Člen | 94
+
0
-

diky.

ale rozmyslam nad tym, ze pouzivat .ini subory je aj tak citanie z disku ⇒ nebude to rychlejsie ako tahanie z DB.

napadlo ma pouzitie tabuliek s enginom MEMORY…

Filip Procházka
Moderator | 4668
+
0
-

a co takhle memcache?

kravčo
Člen | 721
+
0
-

Čisto ukladanie výsledkov z lokálnej databázy asi výkon nezvýši (dáta z keše sa musia i tak načítať a deserializovať), ale kešovanie skupiny operácií (načítanie z db + sformátovanie textu + render šablóny/bloku) už zrýchlenie vo väčšine prípadov prinesie.

related