Sissejuhatus vahemällu ASP.NET-is

Puhverdamine ASP.NET-is on võimalus veebisaidi lehti või andmeid kiireks juurdepääsuks mällu salvestada. ASP.NET-is ei pea te uuesti ja uuesti sama vastuse saamiseks serverit lööma. Salvestage see arvutimällu ja hankige kiiremini. Muidugi töötab see ainult staatiliste andmetega, kuna dünaamilised andmed varieeruvad iga serverile esitatud päringu korral.

Mis on vahemälu ASP.Netis?

.Net-raamistik pakub ka vahemällu salvestamise võimalust, et teie rakenduse toimivust saaks parandada. Nüüd küsite, kas kasutajast sõltuvate dünaamiliste veebilehtede loomiseks kasutatakse ASP .Netti, kuidas see vahemälu sisu vahemällu salvestab?

Mõistagem seda kahe stsenaariumi abil - esiteks, kus leht on kasutaja armatuurlaud ja teiseks, kus sellel on tooteloendid. Teine stsenaarium on kasutajast sõltumatu, tooted on serveriga seotud kõigi päringutega samad ja seega saab kogu lehe vahemällu salvestada. Jällegi on toodete hind ja saadavus varieeruv, millega saab hakkama vahemälu õigeaegse värskendamisega. Esimene stsenaarium sõltub kasutajast, ühe kasutaja armatuurlaud ei pruugi üldse sarnaneda teise kasutajaga. Kuid endiselt on mõned komponendid, näiteks pildid, legendid, päised ja jalus, mida saab jõudluse parandamiseks vahemällu salvestada.ASP.Net võimaldab arendajatel mõlemat tüüpi stsenaariume nende rakenduses tõhusalt käsitleda.

Kuidas vahemälu töötab ASP.Netis?

On väga oluline mõista ASP.Net-i vahemälu veebilehtede või andmete protsessi. Selle mõistmiseks peaksime mõistma .Net-kompileerimise protsessi, et saaksime õigesti aru, millal ja kuhu lehed optimaalse jõudluse tagamiseks vahemällu salvestada. Lehe kood ASP.Net kompileeritakse kahes etapis: MSIL ja JIT. MSIL-i etapis kompileeritakse kõrgetasemelistes keeltes kirjutatud lehekood Microsofti vahekeeleks. See juhtub alati, kui oma projekti ehitame. Kogu veebisait või projekt kompileeritakse MSIL-i iga kord, kui ehitame. JIT-etapis teisendab MSIL-i kood kompilaatori Just In Time abil natiivseks masinkoodiks. See ilmneb lehe täitmise ajal. Kuid mitte kogu projekti ei muundata kogu aeg natiivkoodiks. Ainult kasutaja taotletud lehed teisendatakse täitmise ajal MSIL-ist natiivkoodiks. See säästab palju võrgu ribalaiust ja parandab jõudlust.

Millise koodi peaksime vahemällu salvestama, millal vahemällu ja kuhu?

ASP.Netil on vahemälutele pühendatud täisfunktsionaalne mootor. Sellel on sellised funktsioonid nagu sõltuvus ajast, failist ja võtmest, aegumine, andmete otsimine jne. Selles artiklis me neid üksikasju ei käsitleks. Peame mõistma, et saame oma lehed ja andmed vahemällu salvestada kahes kohas, et parandada meie rakenduse ASP.Net toimivust. Esimene asukoht on ASP.Net serveris asuv sektsioon Page Cache. Selle poe lehe väljundi vahemälud ja lehe fragmentide vahemälud, põhiliselt ASPX-i lehed. Kui taotletakse enamasti staatilist lehte, salvestatakse loodud natiivkoodi koopia jaotises Lehe vahemälu. See säästab JIT-i koostamisaega järgmiste lehetaotluste ajal. Teine asukoht on andmete vahemälu. See salvestab andmeserveritest või muudest serveritest tõmmatud andmed. Nende andmete koopia salvestamine aitab tulevikus salvestada võrgukõnesid andmebaasiserveritele või muudele kolmandate osapoolte serveritele. Mõni vahemällu salvestatud andmete näide on SQL Serveri andmed, XML-andmed, JSON-andmed, kolmanda osapoole API-vastused jne.

Puhverdamise tüübid ASP.Netis

1. Lehe väljundi vahemälu

Lehe väljundi vahemälu tähendab soovitud lehe täieliku väljundi vahemällu salvestamist. Kui kasutaja taotleb ASP.Net-i lehte, kompileerib JIT-i kompilaator vastava MSIL-koodi ja genereerib natiivse koodi väljundi, mis tuleb kliendile vastusena saata. See tähendab, et iga kord, kui lehte taotletakse, peab JIT-i kompilaator looma loomuliku koodi. Mis saab, kui leht on olemuselt staatiline? Mis siis, kui lehe väljund on pärast iga kompileerimist sama? Kui salvestame loodud loomuliku koodi lehe vahemällu, saame kokku hoida palju kompileerimise aega ja ressursse. Sama lehe hilisemad taotlused saab selle asemel vahemälust tuua. Seda nimetatakse leheväljundi vahemäluseks. Leheväljundi vahemälu saavutamiseks peame ASP.Net-koodis täpsustama OuputCache'i direktiivi kestusega sekundites.





2. Lehe fragmendi vahemälu

Oleme näinud, kuidas staatilist lehte vahemällu salvestada. Mis saab siis, kui leht on dünaamiline ja kasutajatest erinev? Siit tuleb lehe fragmentide vahemälu. See võimaldab arendajal vahemällu salvestada lehe kindlad jaotised. See aitab siis, kui soovite vahemällu salvestada päise ja jaluse, mis on enamasti staatiline iga kasutaja jaoks. Lehe fragmendi vahemälu saavutamiseks ASP.Netis peate kapseldama fragmendi koodi eraldi kasutajakontrollis. Seejärel lisage kasutajakontrollis sama OuputCache direktiiv. Kui kasutajakontroll laaditakse koos lehega, säilitatakse selle koopia vahemälus. Seega tõmmatakse vahemälusse kõik järgnevad viited samale kasutajale samal lehel või teisel lehel.





3. Andmete vahemälu

Andmete vahemälu on mehhanism vajalike andmete, millele sageli juurde pääseb, vahemällu salvestamiseks. See võib rakenduse toimivust märkimisväärselt parandada. Selle põhjuseks on asjaolu, et andmete vahemälu salvestamine salvestab andmebaasi edasi-tagasi kõned, mis on kurikuulsad, kuna nad kulutavad kõige rohkem aega. Kui vahemällu on sageli juurde pääsetud ja harva muudetud andmed, tõmbab server andmebaasikõnede tegemise asemel andmed vahemälust. See võib säästa ka natuke raha, kuna andmebaasikõned pilve hostitavatele andmeserveritele võtavad teilt tasu taotluse eest. Andmete vahemälu salvestamine ASP.Netis on iseenesest täieõiguslik mootor. Andmete vahemällu salvestamise saavutamiseks meie ASP-i veebilehel peame kasutama objekti Cache.

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

Miks me vajame vahemällu salvestamist ASP.Netis?

Olles vahemäluprotsessist aru saanud ASP.Netis, vaatame mõnda praktilist näidet, kus vahemällu salvestamine on rakendatud reaalajas stsenaariumides.

  • Seal on informatiivne leht, mis genereerib andmebaasi andmete põhjal aruandeid. Andmebaasi tabeleid värskendatakse iga paari tunni tagant.
    Lehe väljundi vahemällu saab sellises stsenaariumis kasutada vahemälu kestust, mis on seatud vastama andmete värskendamise töö sagedusele.
  • Lehel on mitu tabelit ja andmeid, mis muutuvad pidevalt. Legendid ja andmete seletused jäävad aga samaks.
    Lehe fragmendi vahemälu saab kasutada ainult staatilise legendi ja seletusandmete vahemällu salvestamiseks.
  • On olemas kasutaja kohandatud juhtpaneel, mis loob graafikuid ja diagramme kasutaja taotluste järgi. Graafikute ja diagrammide genereerimiseks kasutatud andmed muutuvad harva.
    Andmete vahemällu salvestamist saab kasutada andmete vahemällu salvestamiseks ning kasutaja taotletud diagrammide ja graafikute dünaamiliseks genereerimiseks.

Järeldus

Seega oleme õppinud, et vahemälu salvestamine on meie ASP.Net-i rakenduse toimivuse parandamisel pikk tee. See oli sissejuhatav taseme artikkel vahemällu salvestamise kohta ASP.Netis. Seda on veel palju uurida. Rakenduse toimivuse edasiseks parandamiseks on soovitatav vahemälu kohta rohkem teada saada.

Soovitatav artikkel

See on olnud juhis vahemälu salvestamiseks ASP.NET-is. Siin käsitleme sissejuhatust vahemällu ASP.NET-is ja selle toimimist koos vahemälutüüpidega. Lisateavet leiate ka meie muudest soovitatud artiklitest -

  1. ASP.NET-raamistik
  2. ASP.Net valideerimise juhtelemendid
  3. Karjäär ASP.NET-is
  4. .NET-i intervjuu küsimused

Kategooria: