[php/mysql] caching op mysql queries?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik zit al een tijdje te spacen op een vraag met betrekking tot het cachen van mysql data.. ik heb nu een website dat minimaal 3 en gemiddeld 35 queries per pagina heeft, dat vind ik best veel en wil deze reducren, niet alle pagina's kan ik qua caching versnellen want deze zijn als 'topics' en worden dus continue ververst (met hits, comments, ed)

nu zit ik met het volgende.. ik haal uit mijn database een paar waarden.

1. aantal items
2. aantal clicks
3. aantal extra items
4. laatste 5 releases
5. laatste 5 news items
6. en voor de de tree's (opbouw like search engines)

nu wil ik dus deze data bewaren, dat kan even snel gedacht op 3 manieren.

1. Ik kan iedere wanneer ik iets update templates gaan verversen met de nieuwe data ongeacht of deze worden opgevraagd..
2. Ik kan deze data uit de database om de zoveel minuten verversen in de template ongeacht of er veranderingen gemaakt zijn.
3. een combinatie van beide boven.

Hebben jullie ideetjes of is er ook materiaal te vinden over het cachen van mysql data? ik kon jammer genoeg niets vinden via de search mbt het maken van dit soort gecachte queries jammer genoeg niets relevants vinden waar ik echt iets mee kon... al kon ik wel vaak lezen dat er gerevereerd werd naar mbraveboer? :D

Acties:
  • 0 Henk 'm!

Verwijderd

Waarom wil je eigenlijk speciaal queries cachen?
Dan kan je net zo goed hele pagina's cachen, of niet?

Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

Je wilt de queries niet cachen, je wilt de resulaten cachen :)

Je zou het nieuws, laatste 5 releases kunnen verversen als het wordt geupdate (aangezien dat een low frequency heeft).

Aantal clicks zal dus live moeten, en betekent dus dat je meteen die gegevens die erbij horen er toch apart bij moet gaan halen. (dus gewoon niet cachen.)

Betekent dus dat je zelf een onderscheid moet gaan maken over welke gegevens je als statisch kan zien en welke dynamisch. ( zoals het nieuws moet je gewoon als statisch zien aangezien het "niet vaak" wordt geupdate. )

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

Verwijderd

dusty schreef op 10 April 2003 @ 20:47:
Je wilt de queries niet cachen, je wilt de resulaten cachen :)
ok, ok :P.
Je zou het nieuws, laatste 5 releases kunnen verversen als het wordt geupdate (aangezien dat een low frequency heeft).

Aantal clicks zal dus live moeten, en betekent dus dat je meteen die gegevens die erbij horen er toch apart bij moet gaan halen. (dus gewoon niet cachen.)

Betekent dus dat je zelf een onderscheid moet gaan maken over welke gegevens je als statisch kan zien en welke dynamisch. ( zoals het nieuws moet je gewoon als statisch zien aangezien het "niet vaak" wordt geupdate. )
Ok, dat is een reden om niet aan pagina caching te doen, maar dus idd aan result caching.

Je zou natuurlijk je result (of een combinatie van results) naar een xml file exporten, en die inlezen met een sax parser (dus ipv naar een database gaan).
Maar of dat de snelheid ten goede komt is de vraag.

Je zou ook je dynamische deel en het 'statische deel' van de pagina kunnen scheiden kunnen scheiden.
En dan dus het 'statische deel' cachen.

[ Voor 7% gewijzigd door Verwijderd op 10-04-2003 21:02 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
maar wat zouden jullie me kunnen aanraden, voor de clicks zal ik idd steeds een query moeten doen, maar bv het tree gedeelte, wat raden jullie aan? :D

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 10 april 2003 @ 21:55:
maar wat zouden jullie me kunnen aanraden, voor de clicks zal ik idd steeds een query moeten doen, maar bv het tree gedeelte, wat raden jullie aan? :D
Je zou de tree (ipv in de database?) in een xml file kunnen zetten, of zelfs html in een file zetten en dat includen.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ok maar hoe kan ik bv een check op een include doen zodat ik kan zien of de inhoud (dmv een snelle query(count?)) ofdat deze gewijzigd is en de template vernieuwen :?.

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 10 April 2003 @ 22:19:
Ok maar hoe kan ik bv een check op een include doen zodat ik kan zien of de inhoud (dmv een snelle query(count?)) ofdat deze gewijzigd is en de template vernieuwen :?.
Ik weet niet waar je tree uit bestaat, maar je zou dat xml file'tje op kunnen bouwen als je een optie toevoegd.

Verder het ik van caching niet zoveel verstand, misschien heb je hier wat aan:
- http://pear.php.net/package-info.php?pacid=40
- http://pear.php.net/package-info.php?pacid=99

Als je het snapt, kan je hier misschien ff in een paar regels het idee uitleggen?
Pagina: 1