Ohjelmointi

Parhaat käytännöt välimuistissa ASP.Net-verkossa

Välimuisti on valtionhallintastrategia, jota ASP.Net käyttää usein ja jolla parannetaan sovelluksen suorituskykyä minimoimalla järjestelmän resurssien kulutus. Oikein käytettynä se voi parantaa sovelluksesi suorituskykyä huomattavasti tallentamalla wWb-sivun kokonaan tai osittain tai jopa tallentaa sovelluksen tiedot HTTP-pyyntöihin. Välimuisti mahdollistaa verkkosivun nopeamman renderoinnin, ja välimuistin asianmukainen käyttö minimoi tai vähentää tietokannan osumia tai palvelimen resurssien kulutusta.

Välimuistin tallentaminen ASP.Net-verkossa on seuraavaa tyyppiä:

  1. sivun tulostuksen välimuisti
  2. sivun osan välimuisti
  3. tietojen välimuisti

Sivun tulostuksen välimuisti

Tämä on ASP.Net-välimuistin muoto, joka tallentaa kopion verkkosivustasi muistivälimuistiin, jotta myöhemmät saman verkkosivun pyynnöt voidaan noutaa suoraan välimuistista - välimuistilähtö lähetetään sovellukseen. Tämä parantaa sovelluksen suorituskykyä huomattavasti. Seuraava koodinpätkä osoittaa, miten voit toteuttaa sivulähtövälimuistin.

VaryByParam-vaihtoehto auttaa määrittämään Http-pyynnössä muuttujat, jotka tarvitsevat uuden välimuistimerkinnän. Muita mahdollisia vaihtoehtoja ovat: VaryByHeader ja VaryByCustom. Voit määrittää sijainnin ja keston myös OutputCache-direktiivissä - niiden avulla voit määrittää välimuistin sijainnin ja myös keston, jona verkkosivu on välimuistissa.

Sivun fragmentin välimuisti

Sivufragmenttien välimuisti on välimuististrategia, jossa verkkosivu välimuistiin tallennetaan osittain - välimuistiin tallennetaan vain fragmentit verkkosivusta, ei koko verkkosivu. Voit käyttää samaa syntaksia kuin sivun välimuistin tallentaminen. Sinun on kuitenkin sovellettava OutputCache-määritettä käyttäjän hallintaan verkkosivun sijaan. Sirpalevälimuistista on hyötyä, kun sinun tarvitsee tallentaa välimuistiin vain Web-sivusi osat - yleensä tilanteissa, joissa verkkosivusi sisältää sekoituksen tavallisia ja dynaamisia osioita. Esimerkiksi sinulla voi olla verkkosivu, joka sisältää sekoituksen valikkokohteita ja myös tiettyjä dynaamisia osioita, jotka on täytettävä ja päivitettävä tietokannasta usein.

Tietojen välimuisti

ASP.Net paljastaa välimuistirajapinnan, jotta voit tallentaa tietoja välimuistiin myöhempää hakua varten. Syntaksi tietojen tallentamiseksi välimuistiin välimuistin sovellusliittymän avulla on annettu alla.

Välimuisti ["key"] = "arvo";

Voit käyttää myös Lisää- tai Lisää-menetelmiä. Voit etätä merkinnän välimuistista käyttämällä välimuistiluokan Poista () -menetelmää. Välimuistiluokan Insert () -menetelmän avulla voit määrittää välimuistiriippuvuuden. Välimuistiriippuvuus on strategia, jolla varmistetaan, että kun tietovaraston (josta välimuisti on täytetty) tiedot muuttuvat, välimuisti täytetään sitten uudelleen välittömästi. Kun tietovaraston tiedot muuttuvat, välimuisti vanhentuu, mikä johtaa välimuistin täyttämiseen uusimpiin tietoihin. Voit lukea lisää tästä tästä MSDN-artikkelista.

Parhaat käytännöt

Välimuisti tulisi tallentaa niin usein kuin mahdollista ja välimuistitiedot oikein sovelluksen jokaisessa kerroksessa. Kun käytät datan välimuistia, sinun on toteutettava asianmukainen strategia varmistaaksesi, että välimuistissa olevat tiedot ovat synkronoituja tietovarastossa olevien tietojen kanssa. Voit hyödyntää Memcachedin kaltaisia ​​hajautettuja välimuistinhallintaohjelmia, jotta välimuististrategiasi voi myös skaalata hyvin ja tarjota huomattavia parannuksia - Memcachedin avulla voit tallentaa suuria tietoja. Varmista, että välimuistiin tallennat vain suhteellisen vanhentuneet tiedot - tietojen välimuistiin tallentamisessa ei ole mitään järkeä, joka muuttuisi usein ajan myötä. Myöskään tietoja, joita ei todennäköisesti käytetä uudelleen, ei pitäisi tallentaa välimuistiin. Älä käytä liikaa SqlDependency- tai SqlCacheDependency-toimintoja.

Ja nyt, tiedetään myös välimuistin haittapuolet. Välimuistiobjekti on käytettävissä vain nykyiselle sovellusalueelle. Joten, jos haluat tallentaa tietoja välimuistiin ja asettaa ne saataville koko verkkotilalle, se ei ole mahdollista. Sinun on hyödynnettävä hajautettua välimuistia, kuten Windows Server AppFabric -välimuistia tai muita jaettuja välimuistikehyksiä, jotta välimuistin tiedot ovat maailmanlaajuisesti käytettävissä verkkotilalla.

Välimuisti on tehokas mekanismi, joka parantaa sovelluksen suorituskykyä tallentamalla muistiin suhteellisen vanhentunutta tietoa, jotta sama voidaan noutaa välimuistista myöhemmin. Keskustelen tästä aiheesta lisää tosielämän koodiesimerkkien kanssa tulevissa viesteissäni täällä.

$config[zx-auto] not found$config[zx-overlay] not found