Avatar billede madsmm Nybegynder
24. juli 2007 - 09:48 Der er 7 kommentarer og
1 løsning

gemme i delt hukommelse eller en anden god ide

Hej,

Jeg står med en udfordring af de større. Jeg har en webside som på en god dag har op imod 1 mio hits, og den data der skal vises må ikke være over 30 sekunder gammel, dataen er ret simpel, men det er lidt tungt at udvælge og sortere den. Så jeg tænker at jeg skal gøre noget i denne stil:

A) 1. gang data efterspørges udvælges, sorteres og gemmes den i databasen/shared memory eller noget andet.
B) når den så efterspørges igen tages den fra DB/shared memory, hvis den er under 30 sek gammel, ellers begyndes forfra.

Hvordan mener i, Eksperter, at man smartest klarer dette i PHP5+mysql5?

På forhånd tak.
Avatar billede skizo_someone Nybegynder
24. juli 2007 - 11:05 #1
Hej, jeg tænkte på om dette muligvis kunne være en nem løsning for dig der ville opfylde dine krav: http://technologies.babywhale.net/cache/

Er det ikke bare at benytte en løsning som den, eller lignende, og sætte en levetid på de 30 sekunder du ønsker?

/Christian
Avatar billede coderdk Praktikant
24. juli 2007 - 11:14 #2
http://www.danga.com/memcached/ skulle virke fint!
Hvis du vil køre med PHP-session ud over flere server kan du også bruge: http://weirdsilence.net/software/memsession/
Avatar billede net-base.dk Nybegynder
24. juli 2007 - 12:57 #3
Kan man ikke lave et cronjob som hvert 30. sec laver dette udtræk og smider i en table i databasen. så vil indholdet automatisk blive skiftet ud hvert 30. sec?

Og bruger du mere end en server skal den "nye" table med de "nye" data bare replikeres ud på de andre servere? Det ville måske være en løsning der var vær at vælge.
Avatar billede madsmm Nybegynder
24. juli 2007 - 13:12 #4
coderdk > det ser sgu ud til at være optimalt til mine behov.

jeg har indtil videre kigget på http://dk.php.net/manual/da/function.shm-attach.php
Avatar billede coderdk Praktikant
24. juli 2007 - 13:16 #5
madsmm, Der er en MemCached PECL: http://pecl.php.net/package/memcache :)

Du får lige et svar ;)
Avatar billede lesp Nybegynder
26. juli 2007 - 22:57 #6
Hvad med cookies?
Avatar billede madsmm Nybegynder
27. juli 2007 - 07:25 #7
nej, det vil stadig betyde at hver client skal have fat i Db'en med jævne mellemrum, og det er det vi vil undgå.. for den kan slet ikke følge med.
Avatar billede coderdk Praktikant
27. juli 2007 - 11:58 #8
Har du analyseret dine queries? (altså kørt EXPLAIN på dem og optimeret indexes - evt brugt FORCE INDEX)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester