Кеширане в ASP.NET - Различни видове кеширане в ASP.Net

Съдържание:

Anonim

Въведение в кеширането в ASP.NET

Кеширането в ASP.NET е възможността да се съхранява страница или уебсайт в паметта за бърз достъп. В ASP.NET не е необходимо да натискате сървъра за един и същ отговор отново и отново. Съхранявайте го в паметта на компютъра и го извличайте по-бързо. Разбира се, това работи само със статични данни, тъй като динамичните данни варират при всяка заявка към сървъра.

Какво е кеширането в ASP.Net?

Рамката .Net също осигурява кеширане, така че ефективността на вашето приложение да бъде подобрена. Сега питате, ASP .Net се използва за създаване на динамични уеб страници, зависими от потребителя, тогава как кешира съдържанието?

Нека разберем това с два сценария - първо, където страницата е таблото на потребителя и второ, където има списъци с продукти. Сценарий 2 е независим от потребителя, продуктите са еднакви с всяка заявка до сървъра и по този начин може да се кешира цялата страница. Отново цената и наличността на продуктите са променливи, което може да се справи с навременното актуализиране на кеша. Сценарий един зависи от потребителя, таблото за управление на един потребител може изобщо да не е подобно на друг. Но все още има няколко компонента като изображения, легенди, заглавки и колонтитули, които могат да се кешират за подобряване на производителността.

Как работи Caching в ASP.Net?

Много е важно да разберете процеса на ASP.Net кешира уеб страници или данни. За да разберем това, трябва да разберем процеса на компилиране. Кодът на страницата на ASP.Net се компилира на два етапа етап MSIL и етап JIT. В етапа на MSIL кодът на страницата, написан на езици на високо ниво, се компилира в междинен език на Microsoft. Това се случва всеки път, когато изграждаме нашия проект. Целият уебсайт или проект се компилира в MSIL всеки път, когато изградим. На етапа JIT MSIL кодът се преобразува в нативен машинен код от компилатора Just In Time. Това се случва по време на изпълнението на страницата. Въпреки това, не целият проект се преобразува в естествен код през цялото време. Само заявените от потребителя страници се конвертират от MSIL в естествен код по време на изпълнението. Това спестява много мрежова честотна лента и подобрява производителността.

Сега, кой код трябва да кешираме, кога трябва да кешираме и къде?

ASP.Net разполага с пълнофункционален двигател, предназначен за кеширане. Той има функции като зависимост от времето, зависимост от файлове и ключове, изтичане на срока, пречистване на данни и др. Това, което трябва да разберем, е, че можем да кешираме нашите страници и данни на две места, за да подобрим ефективността на нашето приложение ASP.Net. Първото местоположение е раздел Кеш на страница, пребиваващ в ASP.Net сървъра. Този кеш страница извежда кешове и кешира фрагменти от страници, основно ASPX страници. Всеки път, когато се изисква предимно статична страница, копие на генерирания естествен код се съхранява в секцията Кеш на страницата. Това спестява времето за компилиране на JIT по време на следващи заявки за страница. Второто място е кешът на данни. Това съхранява данните, получени от сървърите за данни или други сървъри. Съхраняването на копие на тези данни помага за запазване на бъдещи мрежови повиквания към сървърите на базата данни или други сървъри на трети страни. Няколко примера за кешираните данни са данни от SQL Server, XML данни, JSON данни, отговори на API на трети страни и т.н.

Видове кеширане в ASP.Net

1. Кеширане на изхода на страницата

Кеширане на изхода на страница означава кеширане на целия изход на заявената страница. Всеки път, когато потребителят поиска страница ASP.Net, компилаторът JIT компилира съответния код MSIL и генерира изходния изходен код, който да бъде изпратен като отговор на клиента. Това означава, че всеки път, когато се поиска страницата, компилаторът JIT трябва да генерира нативния код. Какво става, ако страницата има статичен характер? Какво става, ако изходът на страницата е един и същ след всяка компилация? Можем да спестим много време и ресурси за компилация, ако съхраняваме генерирания естествен код в кеша на страницата. Следващите заявки за същата страница могат да бъдат извлечени от кеша. Това се нарича „Кеширане на изходни страници“. За да постигнем кеширане на изхода на страница, трябва да посочим директивата OuputCache в кода ASP.Net с продължителност в секунди.





2. Кеширане на фрагменти на страницата

Видяхме как да кешира статична страница. Какво става, ако страницата е динамична и варира според потребителите? Тук идва кеширането на фрагменти от страници. Тя дава възможност на програмист да кешира конкретни раздели на страницата. Това помага, когато искате да кеширате заглавката и долния колонтитул, който е най-вече статичен за всеки потребител. За да постигнете кеширане на фрагменти на страницата в ASP.Net, трябва да капсулирате фрагментния код в отделен потребителски контрол. След това добавете същата директива OuputCache в контрола на потребителя. Когато потребителският контрол се зареди заедно със страницата, копие от нея се поддържа в кеша. По този начин, всички следващи препратки към един и същ потребителски контрол на същата страница или друга страница ще бъдат извлечени от кеша.





3. Кеширане на данни

Кеширането на данни е механизмът за съхраняване на необходимите данни, които често се получават, в кеша. Това може драстично да подобри производителността на приложението. Това е така, защото кеширането на данни спестява разговори в базата данни с обиколни пътувания, които са известни за това, че отнемат най-много време. Когато често се осъществява кеширане и рядко променени данни се кешират, сървърът извлича данните от кеша, вместо да извършва повиквания в базата данни. Това също така може да ви спести малко пари, тъй като обажданията от база данни към облачните сървъри за данни ви таксуват на база заявка. Кеширането на данни в ASP.Net е пълноценен двигател сам по себе си. За да постигнем кеширане на данни в нашата ASP уеб страница, трябва да използваме обекта Cache.

Cache("ProductName")="My Product";
Label1.Text= Cache("ProductName").ToString();

Защо се нуждаем от кеширане в ASP.Net?

След като разбрахме процеса на кеширане в ASP.Net, нека разгледаме някои практически примери, при които кеширането се реализира в сценарии в реално време.

  • Има информативна страница, която генерира отчети въз основа на данните в базата данни. Таблиците на базата данни се обновяват на всеки няколко часа.
    Кеширането на изхода на страницата може да се използва в такъв сценарий с продължителност на зададения кеш, за да съответства на честотата на заданието за обновяване на данни.
  • Има страница, която показва няколко таблици и данни, които постоянно се променят. Легендите и обяснението на данните обаче остават същите.
    Кеширането на фрагменти на страницата може да се използва само за кеширане на статична легенда и данни за обяснение.
  • Има потребителско табло, което е персонализирано от потребителя и генерира графики и диаграми по заявки на потребителя. Данните, използвани за генериране на графики и диаграми, се променят рядко.
    Кеширането на данни може да се използва за кеширане на данни и динамично генериране на заявени от потребителя диаграми и графики.

заключение

По този начин научихме, че кеширането достига дълъг път за подобряване на производителността на нашето приложение ASP.Net. Това беше уводна статия на ниво кеширане в ASP.Net. Има още какво да изследваме. Препоръчва се да научите повече за кеширането, за да подобрите по-добре производителността на приложението.

Препоръчителен член

Това е ръководство за Caching в ASP.NET. Тук обсъждаме Въведение в кеширането в ASP.NET и неговата работа заедно с Видовете кеширане. Можете да разгледате и другите ни предложени статии, за да научите повече -

  1. ASP.NET Framework
  2. ASP.Net валидиращи контроли
  3. Кариера в ASP.NET
  4. .NET Въпроси за интервю