Välimuistiratkaisun suunnitteleminen
välimuistitallennus on yleinen tekniikka, jonka tarkoituksena on parantaa järjestelmän suorituskykyä ja skaalautuvuutta. Välimuistiin tallentaminen kopioi tilapäisesti usein käytettyjä tietoja nopeaan tallennustilaan, joka sijaitsee lähellä sovellusta. Kun nopea tallennustila sijaitsee lähempänä sovellusta kuin alkuperäistä tietosäilöä, välimuistitallennus voi parantaa huomattavasti asiakassovellusten vasteaikoja palvelemalla tietoja nopeammin.
Välimuistitallennus on tehokkainta, kun asiakasesiintymä lukee toistuvasti samoja tietoja, etenkin silloin, kun alkuperäiseen tietosäilöön sovelletaan seuraavia ehtoja:
- Alkuperäinen tietosäilö pysyy suhteellisen staattisena.
- Siihen liittyy suuri kiistataso.
- Se on kaukana, ja verkon viive voi hidastaa pääsyä myymälään.
Oletetaan, että Tailwind Traders lisää uuden ominaisuuden tuotteen esittelysovellukseen lisätäkseen asiakasliikennettä jälleenmyyntisivustoilleen. Tapahtumaominaisuus lisää mobiilisovelluksen yläreunaan bannerin, jossa ilmoitetaan erikoistarjouksista ja rajoitetuista tuotealennuksista. Uusia tarjouksia julkaistaan tunnin kuluessa, ja kunkin tarjouksen jäljellä oleva tuotteen saatavuus päivitetään jokaisen tilauksen käsittelyn jälkeen. Ensimmäinen uuteen tarjoukseen vastannut asiakas saa kaksinkertaisen alennuksen! Asiakkaita kehotetaan tarkistamaan usein, onko heidän mobiilisovelluksessaan päivityksiä tarjouksiin ja tuotteen saatavuuteen. Jos haluat ottaa tämän uuden ominaisuuden käyttöön, sinun on suunniteltava välimuistiratkaisu, joka tukee nopeaa lukemista ja kirjoitusten kirjoittamista muistissa.
Huomioitava asia Redisin Azure-välimuistista
Azure Cache for Redis tarjoaa Redis-ohjelmistoon perustuvan tietosäilön muistissa. Redis parantaa taustatietosäilöjä voimakkaasti käyttävän sovelluksen suorituskykyä ja skaalattavuutta. Se pystyy käsittelemään suuria määriä sovelluspyyntöjä pitämällä usein käytettyjä tietoja palvelimen muistissa, johon voidaan kirjoittaa ja lukea nopeasti. Redis tuo kriittisen pienen viivettä ja suuren siirtomäärän tietojen tallennusratkaisun nykyaikaisiin sovelluksiin.
Tarkastellaanpa palvelun ominaisuuksia:
Redis-välimuisti tarjoaa kehittäjille kaksi toteutusvaihtoehtoa:
- Redis-avoimen lähdekoodin (OSS Redis)
- Kaupallinen tuote Redis Labsista (Redis Enterprise) hallittuna palveluna
Redis-välimuisti tarjoaa suojatut ja erilliset Redis-palvelinesiintymät sekä täyden yhteensopivuuden Redis-ohjelmointirajapinnan kanssa.
Voit käyttää Redis-välimuistia hajautettuna tietojen tai sisällön välimuistina, istuntosäilönä tai viestien välimuistina.
Ota Redis-välimuisti käyttöön erillisenä palveluna tai muiden Azure-tietokantapalveluiden, kuten Azure SQL:n tai Azure Cosmos DB:n, kanssa.
Azure Cache for Redis -välimuistin toiminta
Redis-välimuistia isännöidään Azuressa, ja sitä voi käyttää millä tahansa sovelluksella Azuressa tai sen ulkopuolella. Kuten seuraavasta grafiikasta käy ilmi, Azure Cache for Redis voi auttaa parantamaan suorituskykyä sovelluksissa, jotka käyttävät useita tietokantaratkaisuja, kuten Azure SQL -tietokantaa, Azure Cosmos DB:tä ja Azure Database for MySQL:ää.
Huomioitava asia Redis-välimuistin käytössä
Redis-välimuisti parantaa sovelluksen suorituskykyä tukemalla yleisiä sovellusarkkitehtuurimalleja. Kun tarkastelet seuraavia malleja, harkitse kuvioita, joita voidaan osoittaa Tailwind Traders -sovellusarkkitehtuurissa. Mieti, miten Redis-välimuisti voi täyttää mallivaatimukset.
Kuvio | Skenaario | Ratkaisu |
---|---|---|
Tietovälimuistin | Tietokannat ovat usein liian suuria ladattavaksi suoraan välimuistiin. | On tavallista käyttää välimuistiin tallennettua mallia vain tietojen lataamiseen välimuistiin tarpeen mukaan. Kun järjestelmä tekee muutoksia tietoihin, järjestelmä voi myös päivittää välimuistin, joka jaetaan sitten muille asiakkaille. Lisäksi järjestelmä voi määrittää tietojen vanhentumisen tai käynnistää tietopäivitykset välimuistiin häätökäytännön avulla. |
Sisältövälimuistin | Monet verkkosivut luodaan malleista, jotka käyttävät staattista sisältöä, kuten otsikoita, alatunnisteita ja bannereita. Näitä staattisia kohteita ei tule muuttaa usein. | Muistissa olevan välimuistin käyttö mahdollistaa staattisen sisällön nopean käytön taustatietosäilöihin verrattuna. Tämä malli lyhentää käsittelyaikaa ja palvelimen kuormitusta ja mahdollistaa verkkopalvelimien reagoimisen. Sisältövälimuistin avulla voit vähentää kuormitteiden käsittelyyn tarvittavien palvelimien määrää. Redis-välimuisti tarjoaa Redis Output Cache Provider - tämän mallin tukemiseksi ASP.NET. |
-istuntosäilön | Istuntosäilöä käytetään yleisesti ostoskoreissa ja muissa käyttäjähistoriatiedoissa, joita verkkosovellus saattaa liittää käyttäjän evästeisiin. Liian suuren osan tallentaminen evästeeseen voi vaikuttaa haitallisesti suorituskykyyn, kun evästeen koko kasvaa ja se välitetään ja vahvistetaan jokaisen pyynnön yhteydessä. | Tyypillinen ratkaisu käyttää evästettä avaimena tietokannan tietojen kyselemiseen. On nopeampaa käyttää Azure Cache for Redisin kaltaista välimuistia tietojen liittämiseen käyttäjään kuin täyttä relaatiotietokantaa. |
Job- ja message queuing - | Joidenkin sovellustoimintojen suorittaminen vie paljon aikaa, mikä saattaa estää muita toisiinsa liittymättömiä töitä tai sanomia käynnistymästä. | Sovellukset lisäävät usein tehtäviä jonoon, kun pyyntöön liittyvien toimintojen suorittaminen kestää. Pidemmät käynnissä olevat toiminnot asetetaan jonoon, jotta ne voidaan käsitellä järjestyksessä, usein toisen palvelimen toimesta. Tätä lykätysmenetelmää kutsutaan tehtävien jonottamisessa. Redis-välimuisti tarjoaa hajautetun jonon, joka mahdollistaa tämän mallin käyttöönoton sovelluksessasi. |
Distributed Transactions - | Sovellukset edellyttävät joskus komentosarjoja taustatietosäilöä vastaan, jotta ne voidaan suorittaa yhtenä atomisena operaationa. Kaikkien komentojen on onnistuttava, tai kaikki komennot on kumottava alkuperäiseen tilaan.. | Redis-välimuisti tukee komentoerän suorittamista yksittäisenä tapahtumana. |
Juomaraha
Lue lisää Redis-välimuistin esittely -moduulista .