..


Спонсоред Линкс

Кеширање података

Подаци кеширање је корисно средство за побољшање учинка сваког софтверског система. Идеја је да се стави често коришћене податке у веома моћан уређај. У ствари, иако је време приступа масовно складиштење података настави да се побољша, на пример, приступ подацима који се налазе на хард диск је још увек веома спорији од њих приступ док су у меморији. Тако учини доступним податке брже користи значајно доприноси побољшању перформанси наших апликација.

У АСП.НЕТ Кеш је паралелна са наших апликација и доступан је преко ХттпЦонтект и Систем.Веб.УИ.Паге. Користите кеш је веома сличан ономе што је видео за седнице објекат, као што можете да добијете приступ објектима у њему преко Индекер. Поред тога можете да контролишете време трајања скупа објеката и веза између објеката у кеш и физичке извор података.

Кеш менаџмент у АСП.НЕТ је врло једноставно да видим како да се настави са примером. Претпоставимо да имате ГетДата () метод који чини везу са базом података и враћа ДатаТабле






 заштићени ДатаТабле ГетДата ()







 {



  



 ДатаТабле дт = нулл;



  



 дт = нових ДатаТабле ();



  



 стрЦоннецтион Стринг = "Веза стринг са ДБ";



  



 ДбПровидерФацтори ф =



  



 ДбПровидерФацториес.ГетФацтори ("Систем.Дата.СклЦлиент");



  



 користи (ДбЦоннецтион пр = ф.ЦреатеЦоннецтион ())



  



 {



    



 цонн.ЦоннецтионСтринг = стрЦоннецтион;



    



 цонн.Опен ();



    



 ДбЦомманд команда = ф.ЦреатеЦомманд ();



    



 цомманд.ЦоммандТект = "СЕЛЕЦТ * ФРОМ ТаблеНаме";



    



 цомманд.Цоннецтион = повез;



    



 ИДатаРеадер читалац = Цомманд.ЕкецутеРеадер ();



    



 дт.Лоад (читач);



    



 реадер.Цлосе ();



    



 цонн.Цлосе ();



  



 }



  



 повратак ДТ;







 }



Такође имамо и други метод БиндДата () која повезује податке враћа ГетДата () да бисте ДатаЛист присутан у једном од наших веб форме






 БиндДата заштићена ДатаТабле ()







 {



  



 ДатаТабле дт;



  



 тхис.ГетДата дт = ();



  



 тхис.ДатаЛист1.ДатаСоурце = дт;



  



 тхис.ДатаБинд ();



  



 повратак ДТ;







 }



Други метод да нам је потребно за наше пример ЦреаТабелла која враћа структуру табела у складу са одређеном обрасцу






 ЦреаТабелла заштићени ДатаТабле (ДатаТабле таблеСцхема)







 {



  



 ДатаТабле сто = нев ДатаТабле ();



  



 фореацх (ДатаЦолумн дц таблеСцхема.Цолумнс)



  



 {



    



 табелла.Цолумнс.Адд (дц.ЦолумнНаме,



    



 дц.ДатаТипе);



  



 }



  



 повратак табела;







 }



Методе ГетДата () и БиндДата () се називају у Паге_Лоад догађај на следећи начин






 заштићени воид Паге_Лоад (објецт сендер, ЕвентАргс е)







 {



  



 ако је (ИсПостБацк)



  



 {



    



 ДатаТабле дт = БиндДата ();



    



 ДатаТабле елементиТабелла тхис.ЦреаТабелла = (ДТ);



    



 Сесија ["елементиТабелла"] = елементиТабелла;



  



 }







 }



и онда сваки пут страница је креиран када се повежете са базом података и поново учитава податке. У контексту у којем захтева долази из клијента шта би могло бити прихватљиво за апликације величине да испуни захтеве хиљада клијената то није прихватљиво. У ствари, приступ бази података операције веома скупо поклон на време и треба да буде сведен на минимум.

У овом тренутку можемо направити неке процене природе података управља нашим апликација. Само питате ако вам је потребно да поново учитате податке сваки пут ако се често не мењају. Ако постоји таква потреба можемо да мислимо чувања таквих података на медиј који омогућава приступ истом веома брзо и без везе са базом података (на пример, интерну меморију рачунара). На тај начин примена би задовољио много више истовремених захтева од клијената. Очигледно је да ли података који се обрађују од стране наших апликација ће се променити врло често овај приступ не би било примерено.

Кораке како би се подаци кеширање су:

  1. Проверите да ли дати подаци у кеш
  2. Ако постоји кеширани коришћења
  3. Ако нема кеш да се то да се повеже са базом података
  4. Продавница елемента само учитана за кеш за будућу употребу

У овом тренутку ћемо променити методе које смо видели на почетку овог лекција за управљање подацима кеширање. Овде је метода ГетДата () модификовани






 заштићени ДатаТабле ГетДата ()







 {



  



 ДатаТабле дт = нулл;

  

  



 дт = (ДатаТабле) Кеш ["ТабеллаИнЦацхе"];

  

  



 ако је (ДТ == НУЛЛ)



  



 {



    



 дт = нових ДатаТабле ();



    



 стрЦоннецтион Стринг = "Веза стринг са ДБ";



    



 ДбПровидерФацтори ДбПровидерФацториес.ГетФацтори = ф ("Систем.Дата.СклЦлиент");



    



 користи (ДбЦоннецтион пр = ф.ЦреатеЦоннецтион ())



    



 {



      



 цонн.ЦоннецтионСтринг = стрЦоннецтион;



      



 цонн.Опен ();



      



 ДбЦомманд команда = ф.ЦреатеЦомманд ();



      



 цомманд.ЦоммандТект = "СЕЛЕЦТ * ФРОМ ТаблеНаме";



      



 цомманд.Цоннецтион = повез;



      



 ИДатаРеадер читалац = Цомманд.ЕкецутеРеадер ();



      



 дт.Лоад (читач);



      



 реадер.Цлосе ();



      



 цонн.Цлосе ();



    



 }



  



 }



  



 Цацхе ["ТабеллаИнЦацхе"] = дт;



  



 повратак ДТ;







 }



У нови метод ГетДата () је први проверава постојање табеле у кешу. Ако табела не постоји, ако (ДТ == НУЛЛ) је створена као што је раније урађено, али ако постоји део базе података и повезивање података, екстракцију података је у потпуности заобићи. У сваком случају, пре повратка у сто је уписани у кеш меморију (кеш ["ТабеллаИнЦацхе"] = дт;). Ове мале промене могу значајно смањити трошкове утовара страница (уколико сте већ направили јасну време).

Јасно, ову лекцију је да осетите потенцијал кеширање података и да истраже различите начине кеш менаџменту, њене методе на располагању и процене које могу бити корисне с времена на време позивам вас да се консултујете Мицрософт Оффициал .

Помоћ за Висуал Студио АСП.Нет
Е-учење
АСП (Адванцед) АСП (Адванцед)
Цео курс за креирање динамичких веб сајтова. Од 39 €.
АСП.НЕТ (курс) АСП.НЕТ (курс)
Цео курс за изградњу Веб апликације од 49 €.
СКЛ и базе података (курс) СКЛ и базе података (курс)
Креирање и управљање релационим базама података. Од 39 €.
Спонсоред Линкс