Autor Zpráva
skrofa
Profil *
Je to spíše takový teoretický dotaz.

Zajímalo by mě, jestli mohu zrychlit web, když data, která mám na každé stránce a získávám je z databáze uložím do session a budu je brát odsud? Má to význam i při menším objemu dat? Mám data uložit (pokud je to možné) do jedné proměnné session, nebo rozdělit do více?

Konkrétně se jedná o pravý sloupec, kde se zobrazují naposled vložené články, novinky a jiné informace.
Jan Tvrdík
Profil
skrofa:
Vzhledem k tomu, že session se standardně ukládají do souboru, tak to nebude o nic rychlejší, než kdyby sis to ručně cachovat do souboru. Rozdělení do více proměnných nehraje roli. Navíc poslední vložené články budou asi společné pro všechny uživatele, není tedy důvod, proč by každý z nich měl mít vlastní cache.
skrofa
Profil *
Jan Tvrdík:
Takže to mám radši uložit do nějakého dočasného souboru přes fwrite( ) a číst přes fread( )? A bude to rychlejší, než když bych to pokaždé volal SQL dotazem?
Jan Tvrdík
Profil
skrofa:
Takže to mám radši uložit do nějakého dočasného souboru
Ano, ale pozor na atomicitu (1, 2, 3, 4).

bude to rychlejší, než když bych to pokaždé volal SQL dotazem?
Jsem snad věštec? To přeci záleží na rychlosti toho SQL dotazu. Nutno podotknout, že veškeré diskové operace jsou hodně pomalé, takže by ten dotaz muset trvat poměrně dlouho, aby se to vyplatilo.
skrofa
Profil *
Jan Tvrdík:
takže by ten dotaz muset trvat poměrně dlouho, aby se to vyplatilo
To znamená, že nemá význam data někam přeukládat? To mě zajímalo už na začátku kdy jsem se ptal na session.

V případě že ano - uložit výsledek dotazu někam - jakou má výhodu ruční uložení do souboru oproti session. Použití session mi přijde jednodušší: nemusím se zabývat zmiňovanou atomicitou, po zavření prohlížeče se session smaže automaticy, takže při novém otevření se data aktualizují, i ukládání a výpis přes session mi přijde jednodušší, než přes soubor.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0