Short term caching fan club

Daniele Bochicchio

di , in Esperimenti,

L'ammetto: sono un fan dello short term caching, ovvero di quella particolare tecnica per cui un certo dato viene tenuto in cache per intervalli brevi, perchè il dato è molto volatile (ma non esageratamente statico).

A livello pratico si tratta di impostare una scadenza temporale relativamente bassa, nell'ordine dei pochi minuti (o anche delle ore, volendo), sfruttando la classe Cache e definendo come bassa la priorità, in modo che altre informazioni possano rimanere in cache quando la memoria scarseggia e queste invece possano essere tranquillamente scaricate.

La prima volta che ne ho visto l'utilizzo è stato un paio d'anni fa, all'interno del motore del Forum di ASP.NET, che poi è anche quello che ho modificato ed adattato per questo sito. Il motivo per cui farne uso è semplice: permette di evitare di gravare sul database, "raggruppando" le query che in genere restituiscono gli stessi risultati.

Pensate ad un CMS: in genere gli articoli (o parti di informazioni) tendono a non variare molto, per cui sia io che gli altri 30 utenti che nell'arco dei 10 minuti accederemo a quell'informazioni, in realtà stiamo facendo fare lo stesso lavoro al database. La soluzione è dunque geniale, banale ma nemmeno tanto sfruttata: fare una query ogni x minuti, anzichè una per ogni richiesta.

Mi direte: banale. Ed avete ragione, tanto è vero che la maggior parte dei CMS che ho visto in giro non la usa :D

Per inciso, ho appena finito di modificare il DAL di ASPItalia.com perchè lo usi in alcuni punti critici. Al momento ho qualcosa come 2000 query circa ogni 5 minuti, con punte anche maggiori in certi momenti di traffico. Proviamo cosa succede ad utilizzare questo meccanismo, unito al cache-by-request, di cui sono un altro grande fan.

Insomma, tra short term caching e cache-by-request la nostra applicazione dovrebbe consumare il minimo possibile di memoria, ma al contempo preservare il nostro database da un carico eccessivo.

Adesso che lo sapete, entrerete anche voi a far parte del fan club? :)

Commenti
Short term caching fan club

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese
TAG CLOUD
.NET Framework, .NET Framework 2.0, .NET Framework 3.0, .NET Framework 3.5, .NET Framework 4.0, .NET Micro Framework, 10annidi, ADO.NET, AJAX, Architettura, ASP, ASP.NET, ASP.NET 2.0, ASP.NET 2.0 per tutti, ASP.NET 3.5, ASP.NET 3.5 per tutti, ASP.NET 4.0, ASP.NET 4.0 Guida completa, ASP.NET AJAX, ASP.NET Charting, ASP.NET MVC, ASPItalia.com, C# 4 Guida completa, Cache, Community Days 2010, Community Days 2012, CSS, Custom Control, Database, Databinding, Datagrid, Deployment, Dynamic Data Control, Entity Framework, Expression Blend, HTML 5 Espresso, HTML5, HttpHandler, HttpModule, HttpRuntime, IIS, ISAPI, Javascript, jQuery, LINQ, LINQ to Entities, LINQ to SQL, LogParser, Master Pages, Media Center, Membership API, Metro, Microsoft Expression, MIX11, Model Virtual Casting, Mono, MySQL, Object Oriented Programming, Off Topic, Office, ORM, Parallel FX, Pattern, PDC 2008, Profile API, Provider Model, Real Code Day 6, Report, Roles API, Security, SEO, Silverlight, Silverlight 2.0, Silverlight 3.0, Silverlight 3.0 Guida Completa, Silverlight 4.0, SQL Server, User Control, Visual Basic 2010 Guida completa, Visual Studio, WCF Data Services, WCF RIA Services, Web Service, web.config, Windows 7, Windows 8, Windows Azure, Windows Client, Windows Communication Foundation, Windows Identity Foundation, Windows Live Services, Windows Phone, Windows Phone - il libro, Windows Phone 7, Windows Phone 7.1, Windows Presentation Foundation, Windows Server, Windows Vista, WinRT, XAML, XBox 360, XHTML, XML, XNA, XSLT
BLOG INFO
  • 1.020 post, 438 commenti, 195 trackback
  • Feed blog: RSS Atom
In evidenza