webForumDet fria alternativet

Best-practice för caching i ASP.NET

.NETur .NET

2 svar · 930 visningar · startad av Ledel

Medlem sedan dec. 2004736 inlägg
Frågan#1

HttpRuntime.Cache kan man ju använda för att stoppa in lite allt möjligt i cachen. Men i exempelvis ett CMS - hur bör man cacha sina sidor där? Det är ju i varje fall inte snällt att hämta sidinnehållet från databasen varje gång, men hur ska man cacha?

Jag har funderat på följande metoder:

  • Stoppa in innehållet i HttpRuntime.Cache
  • Spara allt i en XML-fil med typ <PageData PageId="5">...</PageData> och sen söka i denna efter rätt PageId
  • Spara allt i en XML-fil som ovan och sedan cacha denna

Hur cachar man bäst?

Medlem sedan dec. 2005664 inlägg
#2

Spara cache på fil låter horibelt. Antingen håll det i minnet eller i databas.

Medlem sedan dec. 19996 522 inlägg
#3

Du cachar i en webbapp ju för att du vill slippa disk I/O i 9 fall av 10.

För din data kan du ju cacha i minnet. för billiga och hyfsade cache-lösningar kan du ju kolla in Enterprise Librarys Cache Block http://msdn.microsoft.com/en-us/library/dd203226.aspx, eller en .net-provider för memcached http://sourceforge.net/projects/memcacheddotnet/
, http://www.codeproject.com/KB/aspnet/memcached_aspnet.aspx.

Sen har du ju en hel del gratis cachning i din webbserver, beroende på vilken teknik du använder.

249 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
127 ms — hämta forumlista (db)
117 ms — hämta statistik (db)
125 ms — hämta tråd, inlägg och bilagor (db)