webForumDet fria alternativet

Mellanspara i XML?

1 svar · 441 visningar · startad av Jesper T

Jesper TMedlem sedan nov. 20017 144 inlägg
#1

Är det smart (går det) att mellanspara sidor med XML på en databasdriven hemsida?
För att slippa göra ett databasanrop var enda gång någon går in på en sida.
Jag skulle även behöva få med metadata och page title mm.
Vad är vinsten?
Vad är förlusten?
Tankar?

nikoMedlem sedan juni 20022 599 inlägg
#2

Om man tänker sig att du har ganska statisk data och hela tiden ställer ungefär samma frågor till databasen så kan det ju "kännas" vettigt att skriva nån liten bakgrundsapplikation som med jämna mellanrum lyfter upp datan från databasen, placerar den i XML-filer som du sen inkluderar i dina ASP-sidor. Om det däremot är många sidor där möjligheterna för användaren att interagera med sidorna är väldigt stora så kommer du att i princip att få ett närmast oändligt antal XML-filer och allting blir i slutändan ohållbart.

Nästa knäckfråga: Om du nu ställer ungefär samma frågor hela tiden så är ju chansen stor att de berörda databastabellerna redan ligger hyfsat stabilt i operativets disk-cache i RAM. Och isåf kan din manuella XML-generering/hantering/parsning i tolkad script-miljö till och med riskera att göra allt långsammare? (Saker som känns intuitivt vettiga kan ofta visa sig vara kontraproduktiva om man inte riktigt har klart för sig vad Windows håller på med i bakgrunden.)

Om du vill spara klockcykler på servern så tycker jag det finns bättre och enklare sätt:

1. Cacha datan i klienten/webbläsaren. Använd Response.Expires, frames, iframes mm ..
2. Sätt en cachande proxy framför webbservern.
3. Använd IIS6/ASP.NET där du har inbyggt output-cachning på kernel-nivå som är 100-tals ggr snabbare än nåt som du (eller nån annan) själv kan skriva.
4. Använd nån färdig tredje-partsmjukvara.

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)