Autor | Zpráva | ||
---|---|---|---|
Sylar Profil |
#1 · Zasláno: 12. 4. 2020, 17:10:31
Zdravím,
má někdo zkušenosti s tím, jak se obvykle řeší cache u e-shopů, kde je vysoká dynamika kódu? Mám tím na mysli třeba jak řešit výpis produktů v případě, že má e-shop možnost změny měny? Měna většinou není přímo v URL (a cache se ukládá dle URL) a na stejné URL tedy může být výpis produktů ve více měnách. Dále, v hlavičce e-shopu je většinou informace kolik má v košíku uživatel produktů a za jakou cenu, příp. malá tabulka s náhledem produktů. Celá hlavička by se jinak dala cachovat, ale kvůli tomuto to nejde. Jak se toto řeší? Lze třeba nějak "vyčlenit" tento element z cache? Hodně dynamické stránky, kde je vždy potřeba aktuální obsah - např. různé formuláře, vyhledávání nebo detail košíku - pokladna se z cache úplně vyloučí nebo je lze nějak částečně cachovat? Díky za názory a tipy. |
||
Tomášeek Profil |
#2 · Zasláno: 13. 4. 2020, 10:02:41
Sylar:
Moc nechápu, co má být cílem dotazu, neuvedl jsi platformu, na které eshop běží. Pokud je dotaz obecný, zda se dají cachovat i jednotlivé části webu, tak ano, cachovat se dají jednotlivé části webu - dělá se to běžně. |
||
Sylar Profil |
#3 · Zasláno: 13. 4. 2020, 12:49:09
Tomášeek:
Ano, dotaz je obecný a chtěl bych pochopit jak cache funguje. Např. u zmíněné hlavičky - celá hlavička jde cachovat, jen jeden element z ní je třeba vypustit - zmíněný přehled košíku. Jak se toto v praxi řeší? Je nutné prostě cachovat část před element a část po? Jinak to nejde? Stejná situace je potom třeba na výpise produktů v kategorii. Celý výpis by se dal cachovat najednou, pouze ceny produktů je třeba z cache vyjmout, kvůli možnosti změny měny. Jak lze toto vyřešit? Nebo se jednoduše musí uložit zvlášť výpis produktů pro každou měnu v e-shopu? A poslední dotaz, jak se obvykle řeší stránky, kde se používá např. GET, POST či SESSION? Typicky třeba stránky s formulářem - při prvním příchodu na stránku se stránka uloží do cache, uživatel vyplní formulář, potvrdí jej a při dalším načtení již potřebuji, aby stránka vyhodila aktuální údaje o stavu formuláře, tj. ne aby se natáhla původní cachovaná verze. Je tedy tyto stránky lepší z cache vyloučit? Omlouvám se, možná se ptám blbě, ale chtěl bych pochopit, jak se obecně řeší tyto případy, které cahování komplikují. |
||
Kajman Profil |
#4 · Zasláno: 13. 4. 2020, 17:10:13
Dokáži si představit, že by jako cache šel vygenerovat php soubor, který bude mít hlavičku vygenerovanou (html bez php), jen měněná část bude stále jako php kód.
Ale u hlavičky bych spíše čekal, že to bude součást šablony, že tam není nic, co by se počítalo a hodilo by se ten náročný výpočet cachovat. A produkt samozřejmě můžete mít v cache vícekrát, pro každou měnu zvlášť, stačí si správně stanovit klíče, podle kterých se v cache hledá. Pokud s tím začínáte, možná se nejdříve mrkněte na nějaké knihovny, jak to řeší ony. Např. doc.nette.org/cs/3.0/caching |
||
Časová prodleva: 4 roky
|
0