Cachování – výkonnost, uplatnění

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

Ahoj, mám takovou otázku ohledně kešování – uplatnění, výkon.

Hypoteticky, mám například blog s 500 příspěvky. Každý článek může být dlouhý např. 5× A4. Když si ho nějaký uživatel vyžádá, načte se do cache. Předpokládám, že článek bude dobré nacachovat např. na týden, protože na něj bude vysoká přístupnost a po týdnu zájem upadne, ale cache se bude prodlužovat (po vyžádání) a nakonec se po týdnu smaže. Hypoteticky tak můžu mít v cache uloženo např. 30 článků.

Jak to ale bude s výkonností, pokud by se do cache uložilo všech 500 článků (protože si je uživatelé vyžádali). Nebylo by v takovém případě lepší články tahat z databáze? Má takové množství zásadní význam při braní z disku?

Předpokládám, že když bych se nějaký článek upravil, tak bych ho z cache vymazal a počkal na jeho opětovné vyžádání. Ale nebylo by lepší článek přepsat v cache + v databázi? Jak to tady bude s rychlostí?

Co jsem se díval, Nette má dobrý mechanismus pro cachování obsahu a ušetření dotazů na databázi, ale do jaké míry je to použitelné a rychlejší právě oproti načítání z databáze, pokud by se mi cache poměrně slušně zaplnila? Co jsem pročítal fórum, jsou ohledně toho různorodé názory.

Díky za rady )

Filip Procházka
Moderator | 4668
+
0
-

Cache má význam při složitém dotazu, nebo velkém množství dat (více než stovky záznamů, nebo záznamy s objemnými daty).

A tvůj dotaz vyloženě vyžaduje otázku http://www.codesimplicity.com/…engineering/

kravčo
Člen | 721
+
0
-

Presnejšie: kešovanie má význam ak vykreslenie stránky vyžaduje zložitú operáciu, ktorá je rádovo pomalšia alebo viac vyťažuje server ako načítanie keše.

Áno, príkladom môže byť dopyt na databázu:

  • ktorý je výpočtovo náročný
  • ktorého výsledkom je veľa dát

Ale taktiež akákoľvek iná náročná operácia:

  • formátovanie textu
  • náhľady obrázkov
  • nájdenie n-tého prvočísla pre veľké n :)

Je jasné, že zapojenie keše automaticky nezamená zlepšenie, preto je vhodné nasadenie keše dobre premyslieť a následne i vhodne zmerať.