..


Sponzorované odkazy

Caching dát

Dáta do vyrovnávacej pamäte je užitočný nástroj pre zlepšenie výkonu akéhokoľvek softvéru systému. Cieľom je dať najčastejšie používaných dát vo veľmi silnej zariadení. V skutočnosti, aj keď doba prístupu k mass storage zariadenia sa naďalej zlepšuje, napríklad prístup k dáta uložené na pevnom disku, prevádzka je stále oveľa pomalší, než sa k nim, zatiaľ čo oni sú v pamäti. Tak, aby boli dáta k dispozícii rýchlejšie použitie významne prispieva k zlepšeniu výkonnosti našich aplikácií.

V medzipamäte ASP.NET je rovnobežná s našou aplikáciou a je k dispozícii prostredníctvom HttpContext a System.Web.UI.Page. Použitie cache je veľmi podobný tomu, čo bolo vidieť na zasadnutí objektu, je možné prístup k objektom v ňom cez Indexer. Okrem toho môžete tiež nastaviť dobu trvania súboru objektov a spojenie medzi objekty v cache a fyzické zdroje dát.

Vyrovnávacie konanie v ASP.NET je veľmi jednoduché, ako sa bude postupovať pri príklad. Predpokladajme, že máte GetData (), ktorá umožňuje pripojenie k databáze a vráti DataTable






 chránené DataTable GetData ()







 {



  



 DataTable dt = null;



  



 dt = new DataTable ();



  



 strConnection String = "reťazec pripojenia k DB";



  



 DbProviderFactory f =



  



 DbProviderFactories.GetFactory ("System.Data.SqlClient");



  



 použitie (Prepojenie DB Conn = f.CreateConnection ())



  



 {



    



 conn.ConnectionString = strConnection;



    



 conn.Open ();



    



 F. CreateCommand DbCommand command = ();



    



 command.CommandText = "Select * from TableName";



    



 command.Connection Conn =;



    



 Command.ExecuteReader IDataReader reader = ();



    



 dt.Load (čitateľ)



    



 reader.Close ();



    



 Conn.Close ();



  



 }



  



 návrat dt;







 }



Máme aj ďalšie metódu BindData (), ktorá mapuje dát vrátených GetData () pre datalist súčasnej dobe v jednom z našich webového formulára






 BindData chránené DataTable ()







 {



  



 DataTable dt;



  



 this.GetData dt = ();



  



 this.DataList1.DataSource = dt;



  



 this.DataBind ();



  



 návrat dt;







 }



ďalšie metóda, ktorá potrebujeme pre náš príklad je CreaTabella, ktorá vracia štruktúru tabuľky podľa určitého vzoru






 CreaTabella chránené DataTable (DataTable tableSchema)







 {



  



 DataTable tabuľka = new DataTable ();



  



 foreach (DataColumn dc tableSchema.Columns)



  



 {



    



 tabella.Columns.Add (dc.ColumnName,



    



 dc.DataType);



  



 }



  



 návrat tabuľke;







 }



Metódy GetData () a BindData () sú volány v udalosti Page_Load takto






 protected void Page_Load (object sender, EventArgs e)







 {



  



 if (IsPostBack)



  



 {



    



 DataTable dt = BindData ();



    



 DataTable elementiTabella this.CreaTabella = (dt);



    



 Session ["elementiTabella"] = elementiTabella;



  



 }







 }



a potom zakaždým, keď sa stránka je vytvorená pripojenie k databáze a načíta dáta. V situácii, keď otázkach na niekoľko klientov to môže byť prijateľné pre aplikácie, veľkosti, aby spĺňali požiadavky tisícov klientov, to nie je prijateľné. V skutočnosti, operácie pre prístup k databáze veľmi drahý darček v čase a malo by byť minimalizované.

Na tomto mieste môžeme niektoré odhady z povahy údajov spravovaných našej aplikácie. Len či budete potrebovať pre aktualizáciu dát zakaždým, keď sa často nemení. Ak je to nutné nie je k dispozícii, môžeme myslieť na ukladanie týchto dát na médium, ktoré umožňuje prístup k rovnakým veľmi rýchlo a bez pripojenia k databáze (napríklad počítače vnútornej pamäte). Týmto spôsobom aplikácie by sa stretol oveľa viac súbežných požiadaviek klientov. Je zrejmé, že v prípade, že údaje spracované našej aplikácie by sa menia veľmi často tento prístup by nebolo vhodné.

Kroky pre cache dát sú:

  1. Skontrolujte, či je daná dáta v cache
  2. Ak dôjde v vyrovnávacej pamäte pomocou
  3. Ak nie je vyrovnávacia pamäť, aby si to sa pripojiť k databáze
  4. Uložiť záznam práve vložený do medzipamäte pre budúce použitie

V tejto chvíli sa chystáme zmeniť metódy, ktoré sme videli na začiatku tejto triedy pre spracovanie dát do vyrovnávacej pamäte. Tu je GetData () Metóda modifikované






 chránené DataTable GetData ()







 {



  



 DataTable dt = null;

  

  



 dt = (DataTable) Cache ["TabellaInCache"];

  

  



 if (dt == null)



  



 {



    



 dt = new DataTable ();



    



 strConnection String = "reťazec pripojenia k DB";



    



 DbProviderFactory DbProviderFactories.GetFactory f = ("System.Data.SqlClient");



    



 použitie (Prepojenie DB Conn = f.CreateConnection ())



    



 {



      



 conn.ConnectionString = strConnection;



      



 conn.Open ();



      



 F. CreateCommand DbCommand command = ();



      



 command.CommandText = "Select * from TableName";



      



 command.Connection Conn =;



      



 Command.ExecuteReader IDataReader reader = ();



      



 dt.Load (čitateľ)



      



 reader.Close ();



      



 Conn.Close ();



    



 }



  



 }



  



 Cache ["TabellaInCache"] = dt;



  



 návrat dt;







 }



V novej metóde GetData () je prvá kontroluje existenciu tabuľky v cache. Ak je v tabuľke neexistuje if (dt == null) je vytvorený, ako tomu bolo predtým, ale ak je súčasťou databázy pripojenie a získavanie dát je úplne obísť. V každom prípade, než sa vráti k stolu je uložený vo vyrovnávacej pamäti (Cache ["TabellaInCache"] = dt;). Tieto malé zmeny môžu výrazne znížiť náklady na zaťaženie (ak ste už vytvorili jasný časový).

Je zrejmé, že táto lekcia je, aby sa cítite potenciál cache dát a pozrieť sa na rôzne spôsoby, ako riadiť cache, dostupné metódy a zistiť, ktoré z nich môžu byť užitočné čas od času vás pozývam nahliadnuť do Úradného Microsoft .

ASP.Net pomocou pomocníka Visual Studio
E-Learning
ASP (Advanced) ASP (Advanced)
Celý kurz pre tvorbu dynamických webových stránok. Od 39 €.
ASP.NET (kurz) ASP.NET (kurz)
Celý kurz pre tvorbu webových aplikácií od 49 €.
SQL a databázy (kurz) SQL a databázy (kurz)
Vytváranie a správa relačnej databázy. Od 39 €.
Sponzorované odkazy