[PHP & MySQL] Caching van pagina onderdeel

Pagina: 1
Acties:
  • 133 views sinds 30-01-2008
  • Reageer

  • Toni
  • Registratie: Februari 2001
  • Niet online
Ik ben met een website bezig waarbij iedere pagina bestaat uit een grote tabel. Aan de linkerkant staat een uitvouwmenu zoals op www.autotelegraaf.nl en aan de rechterkant staat de content. De site wordt volledig dynamisch opgebouwd dmv PHP en een MySQL database.

Nu zit ik met het probleem dat de filesize van de pagina uit de hand loopt (zo'n 50kb) omdat die navigatietabel zo groot is.

Ik zat te denken dat het naast het optimaliseren van de table wel handig kan zijn om gebruik te maken van de cache omdat de menu-structuur en dus die table toch niet zo vaak zal veranderen. Wanneer die navigatietable op een of andere manier in de client cache kan komen te staan zal dat een hoop laadtijd schelen, en trouwens ook serverload en database-load.

Het probleem is nu dat ik niet goed weet hoe ik er voor kan zorgen dat een los onderdeel uit de pagina (de table) kan worden gecached op de client.

Kan iemand me uit de brand helpen?

We need more cowbell


  • Banpei
  • Registratie: Juli 2001
  • Laatst online: 04-09 16:26
In een plaatje gooien en die laten cachen... ;)

Maar volgens mij kan dat dus niet wat jij wilt.

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 14-07 14:28

thomaske

» » » » » »

een mogelijkheid is frames, maar dat moet maar net in je pagina ontwerp 'passen'

een andere oplossing is om het op de manier te doen als bv tweakers.net. De hele menu-structuur staat in een .js file welke client-side wordt gecached

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


  • pietje63
  • Registratie: Juli 2001
  • Laatst online: 09:26

pietje63

RTFM

tja, met frames gaat dat vanzelf, maar frames zijn niet echt popupair..... (al vraag ik me af en toe af waarom)


========edit======
o, ik was niet snel genoeg

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!


  • Banpei
  • Registratie: Juli 2001
  • Laatst online: 04-09 16:26
Je kan natuurlijk wel de grote hoeveelheid Javascript die je er voor nodig hebt in een extrene include gooien. Die wordt nl wel gecached. Eventueel kan je ook met Javascript dan die tabel er in wegschrijven, maar dat zou ik als ik jou was maar niet doen... ;)

Edit:
Je kan natuurlijk ook gewoon via een IFrame dat menu weergeven en bij een IFrame kun je dus wel een include doen.

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 14-07 14:28

thomaske

» » » » » »

Op donderdag 13 juni 2002 14:38 schreef Banpei het volgende:
Edit:
Je kan natuurlijk ook gewoon via een IFrame dat menu weergeven en bij een IFrame kun je dus wel een include doen.
Maar dan sluit je volgens mij een aantal browsers weer uit, als ik me niet vergis..

is dit trouwens niet meer een topic voor de buren??

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


  • Skef
  • Registratie: April 2001
  • Laatst online: 01-09 15:32

Skef

Ik scheer.me

Je zou ook, om het allemaal wat sneller te maken, HTTP-compressie toe kunnen passen.

Dit werkt erg goed, en zorgt ervoor dat alle HTML gecomprimeerd verzonden wordt.

T.net past dit ook toe...

Praktijkvoorbeeldje: wij hadden op een gegeven moment gegenereerde HTML-pages van 250 kb oid. Dit duurt via ISDN errug lang, maar na de HTTP-compressie was het totaal nog maar iets van 25 kb wat er gedownload moest worden. Vergelijk het maar met winzip: zip voor de grap eens een heel groot text-file, en kijk dan naar de grootte van het zipje...

"Computer games don’t affect kids: I mean if Pac-Man affected us as kids, we’d all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."


  • pietje63
  • Registratie: Juli 2001
  • Laatst online: 09:26

pietje63

RTFM

Op donderdag 13 juni 2002 14:45 schreef Skef het volgende:
Je zou ook, om het allemaal wat sneller te maken, HTTP-compressie toe kunnen passen.

Dit werkt erg goed, en zorgt ervoor dat alle HTML gecomprimeerd verzonden wordt.

T.net past dit ook toe...

Praktijkvoorbeeldje: wij hadden op een gegeven moment gegenereerde HTML-pages van 250 kb oid. Dit duurt via ISDN errug lang, maar na de HTTP-compressie was het totaal nog maar iets van 25 kb wat er gedownload moest worden. Vergelijk het maar met winzip: zip voor de grap eens een heel groot text-file, en kijk dan naar de grootte van het zipje...
kun je er dan ook bijzeggen hoe dat moet, of waar dat staat, klinkt nl wel interessant

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!


  • Rense Klinkenberg
  • Registratie: November 2000
  • Laatst online: 09-08 19:19
Cachen zou natuurlijk perfect moeten gaan. Er is een schitterendnd pear package om dat te doen: PEAR::Cache. Als je host het ondersteund, kan die zelf in shared memory cachen, zonder dat je er zelf moeilijke code voor hoeft te schrijven. Een simpele google search zal genoeg tutorials opleveren om het gebrek aan doc's op te vullen.

Verder zal het de moeite waard zijn om te pagina's gezipped naar de client te versturen. Hierdoor worden ze een stuk kleiner en is het dus sneller binnen.

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 14-07 14:28

thomaske

» » » » » »

Op donderdag 13 juni 2002 14:49 schreef pietje63 het volgende:

[..]

kun je er dan ook bijzeggen hoe dat moet, of waar dat staat, klinkt nl wel interessant
met deze code bovenaan je pagina:
PHP:
1
<?ob_start("ob_gzhandler");?>

zie ook hier

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


  • Postman
  • Registratie: Februari 2000
  • Laatst online: 03-09 22:43
Op donderdag 13 juni 2002 14:49 schreef pietje63 het volgende:

[..]

kun je er dan ook bijzeggen hoe dat moet, of waar dat staat, klinkt nl wel interessant
[topic=363664/1/400]
En als je zoekt op zlib vindt je zoveel resultaten dat je verzuipt...
Oh ja, meest gebruikte file hiervoor is gzdoc.php ;)

  • Skef
  • Registratie: April 2001
  • Laatst online: 01-09 15:32

Skef

Ik scheer.me

Hier staat wat info:

http://www.php.net/manual/en/ref.outcontrol.php

http://www.php.net/manual/en/ref.zlib.php

Nog simpeler:

bovenaan je script komt dit:
PHP:
1
<?  ob_start();?>

en onderaan komt dit:
PHP:
1
<?  $html = ob_get_contents();   ob_end_clean();   echo gzip($html); ?>

Hiervoor moet je wel de zlib in PHP hebben...

"Computer games don’t affect kids: I mean if Pac-Man affected us as kids, we’d all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."

Pagina: 1