nerdvana
Bedre databaseytelse med Memcached
Nerdvana presenterer denne gang Memcache, en løsning som skal forbedre databaseytelsen, ikke minst i webløsninger.
De fleste dynamiske webløsninger har en database i bunnen. I utgangspunktet må webserveren for hver side som skal vises, gjøre ett eller flere kall til databasesystemet. I mange tilfeller vil mange av disse kallene være de samme når neste webside skal leveres. Likevel må databasen gjøre de samme oppslagene gang på gang.
Det finnes mange muligheter for å redusere antallet oppslag, ved å ta vare på tidligere resultater.
Memcached er løsning hvor webutvikleren gis full kontroll over hvilke data som mellomlagres. Memcache kjøres som en separat server, mens en klient integreres i webapplikasjonskoden. Klienter er tilgjengelige for blant annet Perl, PHP, Python, Ruby, Java og C.
Samlinger av data man har hentet fra databasen og eventuelt etterbehandlet i webapplikasjonen før visning, kan lagres under et unikt objektnavn i Memcached. Samtidig kan de mellomlagrede dataene gis en varighet, slik at de forsvinner fra Memcached etter en gitt tid. Neste gang det er behov for å hente de samme dataene, spør webapplikasjonen først Memcached om den har disse tilgjengelig, hvis ikke, hentes de fra databasen og behandles på nytt.
De mellomlagrede dataene er ikke knyttet til noen spesiell applikasjon eller webserver, så den sammen datamengden kan hentes fra en annen applikasjon på en annen webserver ved å benytte de samme, unike objektnavnet.
Når webapplikasjonen derimot skal legge til eller erstatte data i databasen, vil også de tilsvarende, mellomlagrede dataene i Memcached oppdateres. Dette gjøres ved hjelp av en enkel instruksjon i webapplikasjonskoden.
Memcached benyttes av kjente og høyt trafikkerte nettsteder som Slashdot.org og WikiPedia.
Memcached leveres med full kildekode og kan kjøres på de fleste Unix-lignende systemer.
Lenke til:
Kommentarer/erfaringer/alternativer? Fortell om det i debattforumet nedenfor.
Nerdvana-redaksjonen tar mer enn gjerne imot flere tips om glimrende og gratis programvare for avanserte brukere og spesielt interesserte. Tipsene sendes til harald@digi.no.
| Tidligere Nerdvana-tips02.03.09Rammeverk for PHP-utvikling17.02.05Presenter navigasjonsløsninger med PHP16.02.05Sikrere hurtigmeldinger med Gaim-tillegg15.02.05Dypdykk i eksekverbare filer14.02.05Ruby-basert gjenkjenning av mønstre11.02.05Modulbasert gruppevaresystem10.02.05Alternativ SSH-klient for Windows09.02.05Fire nettverkskameraer i ett vindu08.02.05Få tak i den gamle utgaven07.02.05Bedre oversikt over Windows-driverne03.02.05Fjernstyr PC-en fra en nettleser02.02.05Bedre satellittbilder fra hele verden01.02.05Lag Flash-baserte læreprogrammer31.01.05Deaktiver filbeskyttelsen i Windows28.01.05Avansert konstruksjon med BRL-CAD27.01.05Lær Perl-programmering for weben26.01.05Lag din egen IP-telefonitjeneste25.01.05Få oversikt over vinsamlingen24.01.05Fersk fildeler uten annonser21.01.05Enkel administrasjon av PostgreSQL20.01.05Sentral oversikt over MS-programvaren19.01.05Bedre nettverkssikkerhet i Windows18.01.05Lag videoeffekter med Jahshaka17.01.05En bedre filutforsker14.01.05Virtuell Linux på minnepinnen13.01.05Sikrere bruk av Windows XP12.01.05Det perfekte DVD-registeret11.01.05Fjerntilgang til Google Desktop-søk10.01.05Hele regnestykket på én linje | Tidligere Nerdvana-tips | 02.03.09 | Rammeverk for PHP-utvikling | 17.02.05 | Presenter navigasjonsløsninger med PHP | 16.02.05 | Sikrere hurtigmeldinger med Gaim-tillegg | 15.02.05 | Dypdykk i eksekverbare filer | 14.02.05 | Ruby-basert gjenkjenning av mønstre | 11.02.05 | Modulbasert gruppevaresystem | 10.02.05 | Alternativ SSH-klient for Windows | 09.02.05 | Fire nettverkskameraer i ett vindu | 08.02.05 | Få tak i den gamle utgaven | 07.02.05 | Bedre oversikt over Windows-driverne | 03.02.05 | Fjernstyr PC-en fra en nettleser | 02.02.05 | Bedre satellittbilder fra hele verden | 01.02.05 | Lag Flash-baserte læreprogrammer | 31.01.05 | Deaktiver filbeskyttelsen i Windows | 28.01.05 | Avansert konstruksjon med BRL-CAD | 27.01.05 | Lær Perl-programmering for weben | 26.01.05 | Lag din egen IP-telefonitjeneste | 25.01.05 | Få oversikt over vinsamlingen | 24.01.05 | Fersk fildeler uten annonser | 21.01.05 | Enkel administrasjon av PostgreSQL | 20.01.05 | Sentral oversikt over MS-programvaren | 19.01.05 | Bedre nettverkssikkerhet i Windows | 18.01.05 | Lag videoeffekter med Jahshaka | 17.01.05 | En bedre filutforsker | 14.01.05 | Virtuell Linux på minnepinnen | 13.01.05 | Sikrere bruk av Windows XP | 12.01.05 | Det perfekte DVD-registeret | 11.01.05 | Fjerntilgang til Google Desktop-søk | 10.01.05 | Hele regnestykket på én linje | |||||||||||||||||||||||||||||
| Tidligere Nerdvana-tips | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 02.03.09 | Rammeverk for PHP-utvikling | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 17.02.05 | Presenter navigasjonsløsninger med PHP | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 16.02.05 | Sikrere hurtigmeldinger med Gaim-tillegg | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 15.02.05 | Dypdykk i eksekverbare filer | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 14.02.05 | Ruby-basert gjenkjenning av mønstre | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 11.02.05 | Modulbasert gruppevaresystem | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 10.02.05 | Alternativ SSH-klient for Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 09.02.05 | Fire nettverkskameraer i ett vindu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 08.02.05 | Få tak i den gamle utgaven | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 07.02.05 | Bedre oversikt over Windows-driverne | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 03.02.05 | Fjernstyr PC-en fra en nettleser | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 02.02.05 | Bedre satellittbilder fra hele verden | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 01.02.05 | Lag Flash-baserte læreprogrammer | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 31.01.05 | Deaktiver filbeskyttelsen i Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 28.01.05 | Avansert konstruksjon med BRL-CAD | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 27.01.05 | Lær Perl-programmering for weben | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 26.01.05 | Lag din egen IP-telefonitjeneste | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25.01.05 | Få oversikt over vinsamlingen | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24.01.05 | Fersk fildeler uten annonser | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 21.01.05 | Enkel administrasjon av PostgreSQL | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 20.01.05 | Sentral oversikt over MS-programvaren | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 19.01.05 | Bedre nettverkssikkerhet i Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 18.01.05 | Lag videoeffekter med Jahshaka | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 17.01.05 | En bedre filutforsker | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 14.01.05 | Virtuell Linux på minnepinnen | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 13.01.05 | Sikrere bruk av Windows XP | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 12.01.05 | Det perfekte DVD-registeret | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 11.01.05 | Fjerntilgang til Google Desktop-søk | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 10.01.05 | Hele regnestykket på én linje |
Enda eldre Nerdvana-er: