Ohjelmointi

NCache: n käyttäminen ASP.Net Core -sovelluksessa

Vaikka ASP.Net Core -palvelimelta puuttuu välimuistiobjekti, se tarjoaa tukea useille erityyppisille välimuistityökaluille, mukaan lukien muistin välimuisti, hajautettu välimuisti ja vastausvälimuisti. Alachisoftin tarjoama avoimen lähdekoodin tuote, NCache, on erittäin nopea, muistissa oleva, hajautettu, skaalautuva välimuistikehys .Net-sovelluksiin.

NCache on 100-prosenttisesti natiivi .Net. Se on paitsi nopeampi kuin Redis, mutta tarjoaa myös useita hajautettuja välimuistitoimintoja, joita Redis ei tue. Voit oppia lisää NCachen ja Rediksen eroista täältä. Tässä artikkelissa keskustellaan siitä, kuinka voimme työskennellä NCachen kanssa ASP.Net Core -sovelluksissa.

Hajautettu välimuisti, kuten NCache, voi parantaa sekä sovellusten suorituskykyä että skaalautuvuutta. Hajautetussa välimuistissa välimuistissa olevat tiedot eivät ole yksittäisen verkkopalvelimen muistissa. Voit lisätä tai poistaa palvelimen vaikuttamatta välimuistiin tai välimuistiin tallennettuihin tietoihin. Ja jos jokin palvelimista menee alas tai lopettaa vastaamisen, muut palvelimet voivat silti noutaa välimuistitiedot. Tämä selittää, miksi jaetun välimuistin välimuistitiedot voivat selviytyä palvelimen uudelleenkäynnistyksestä.

Luo ASP.Net-ydinprojekti Visual Studiossa

Ensinnäkin, luodaan ASP.Net Core -projekti. Jos Visual Studio 2017 on käynnissä ja toimii järjestelmässäsi, luo uusi ASP.Net Core -projekti Visual Studiossa noudattamalla seuraavia ohjeita.

  1. Käynnistä Visual Studio 2017 IDE.
  2. Napsauta Tiedosto> Uusi> Projekti.
  3. Valitse näytettävien mallien luettelosta ”ASP.Net Core Web Application (.Net Core)”.
  4. Määritä projektille nimi.
  5. Tallenna projekti napsauttamalla OK.
  6. Seuraava ikkuna ”Uusi .Net Core Web -sovellus…” näytetään seuraavaksi.
  7. Valitse .Net Core ajonaikaiseksi ja ASP.Net Core 2.2 (tai uudempi) ylhäältä avattavasta luettelosta.
  8. Valitse projektimalliksi API
  9. Varmista, että valintaruudut Ota Docker-tuki käyttöön ja Määritä HTTPS: lle ei ole valittu, koska emme käytä näitä ominaisuuksia täällä.
  10. Varmista, että ”Ei todentamista” on valittu, koska emme myöskään käytä todennusta.
  11. Napsauta OK.

Sinulla on nyt oltava uusi ASP.Net Core -projekti valmis aloittamaan Visual Studiossa. Seuraavaksi sinun on asennettava tarvittava NuGet-paketti NCachen käyttöä varten. Asenna seuraava NuGet-paketti NuGet Package Manager -ikkunasta tai NuGet Package Manager -konsolista:

Alachisoft.NCache.SessionServices

Kun tämä NuGet-paketti on asennettu projektiisi, olet valmis käyttämään NCachea.

Käytä IDistributedCache-liitäntää ASP.Net Core -sovelluksessa

Jos haluat käyttää hajautettua välimuistia ASP.Net Core -sovelluksissa, käytä IDistributedCache-käyttöliittymää. IDistributedCache-liitäntä otettiin käyttöön ASP.Net Core -sovelluksessa, jotta voit helposti liittää kolmannen osapuolen välimuistikehykset. IDistributedCache näyttää tältä.

nimitila Microsoft.Extensions.Caching.Distributed

{

julkinen käyttöliittymä IDistributedCache

    {

tavu [] Get (merkkijonoavain);

void Päivitä (merkkijonoavain);

void Poista (merkkijonoavain);

void Set (merkkijonoavain, tavu [] arvo,

DistributedCacheEntryOptions-vaihtoehdot);

    }

}

Määritä NCache IDistributedCache-palveluntarjoajaksi ASP.Net Core -sovelluksessa

Jos haluat käyttää jaettua välimuistia NCache-välimuistilla, sinun tulee soittaa AddNCacheDistributedCache-menetelmälle Startup.cs-tiedoston ConfigureServices-menetelmässä, kuten alla olevassa koodinpätkässä näkyy. Huomaa, että AddNCacheDistributedCache () -menetelmä on ASP.Net Core -menetelmän AddNDistributedCache () -menetelmän laajennus.

public void ConfigureServices (IServiceCollection-palvelut)

        {

services.AddNCacheDistributedCache (kokoonpano =>

            {

configuration.CacheName = "Hajautettu välimuisti";

configuration.EnableLogs = true;

configuration.ExceptionsEnabled = tosi;

            });          

services.AddMvc (). SetCompatibilityVersion

(CompatibilityVersion.Version_2_2);

        }

Ja se on kaikki mitä sinun tarvitsee tehdä. Voit nyt aloittaa NCachen käytön projektissasi.

Käytä välimuistissa olevia objekteja ASP.Net Core -palvelimeen NCache-muistin avulla

Seuraava koodinpätkä kuvaa, miten voit työskennellä NCachen kanssa. Alla esitetty GetAuthor-menetelmä hakee Author-objektin välimuistista, jos se on käytettävissä. Jos Author-objekti ei ole käytettävissä välimuistissa, GetAuthor-menetelmä hakee sen tietokannasta ja tallentaa objektin sitten välimuistiin.

 julkinen asynkronointi Tehtävä GetAuthor (int id)

        {

_cache = NCache.InitializeCache ("CacheName");

var cacheKey = "Avain";

Kirjoittaja kirjoittaja = null;

if (_välimuisti! = tyhjä)

            {

author = _cache.Get (cacheKey) kirjoittajana;

            }

if (tekijä == null) // Tietoja ei ole välimuistissa

            {

// Kirjoita koodi tähän kirjoittajan hakemiseksi

// objekti tietokannasta

if (tekijä! = null)

                {

if (_välimuisti! = tyhjä)

                    {

_cache.Insert (cacheKey, tekijä, null,

Välimuisti.NoAbsoluteExpiration,

TimeSpan.FromMinutes (10),

Alachisoft.NCache.Runtime.

CacheItemPriority.Default);

                    }

                }

            }

paluu kirjoittaja;

        }

Ja tässä on Kirjoittaja-luokka.

 public class Kirjoittaja

    {

public int AuthorId {get; aseta; }

julkinen merkkijono Etunimi {get; aseta; }

julkinen merkkijono Sukunimi {get; aseta; }

    }

Alachisoftin NCache on hajautettu välimuistiratkaisu .Net: lle. IDistributedCache-käyttöliittymä tarjoaa vakio-sovellusliittymän työskentelemään hajautetun välimuistin kanssa ASP.Net Core -sovelluksessa. Voit käyttää sitä kolmansien osapuolien välimuistien, kuten NCache, liittämiseen nopeasti ja helposti.