Kako koristiti NCache u ASP.Net Coreu

Iako ASP.Net Core nedostaje objekt predmemorije, pruža podršku za nekoliko različitih vrsta predmemoriranja, uključujući predmemoriranje u memoriji, distribuirano predmemoriranje i predmemoriranje odgovora. Proizvod otvorenog koda koji pruža Alachisoft, NCache je izuzetno brz, memorijski, distribuirani, skalabilni okvir predmemoriranja za upotrebu u .Net aplikacijama.

NCache je 100-postotni izvorni .Net. Ne samo da je brži od Redisa, već nudi i nekoliko značajki distribuiranog predmemoriranja koje Redis ne podržava. Ovdje možete saznati više o razlikama između NCachea i Redisa. Ovaj će članak raspravljati o tome kako možemo raditi s NCacheom u aplikacijama ASP.Net Core.

Distribuirana predmemorija kao što je NCache može poboljšati i izvedbu i skalabilnost aplikacija. U distribuiranoj predmemoriji, predmemorirani podaci ne nalaze se u memoriji pojedinog web poslužitelja. Možete dodati ili ukloniti poslužitelj bez utjecaja na predmemoriju ili predmemorirane podatke. A ako bilo koji od poslužitelja padne ili prestane reagirati, drugi će poslužitelji i dalje moći dohvatiti predmemorirane podatke. To objašnjava zašto predmemorirani podaci u distribuiranoj predmemoriji mogu preživjeti ponovno pokretanje poslužitelja.

Stvorite projekt ASP.Net Core u Visual Studiju

Prvo, kreirajmo ASP.Net Core projekt. Ako je Visual Studio 2017 pokrenut i pokrenut u vašem sustavu, slijedite korake dane u nastavku za stvaranje novog ASP.Net Core projekta u Visual Studio.

  1. Pokrenite Visual Studio 2017 IDE.
  2. Kliknite Datoteka> Novo> Projekt.
  3. Odaberite "ASP.Net Core Web Application (.Net Core)" s popisa prikazanih predložaka.
  4. Navedite naziv projekta.
  5. Kliknite U redu da biste spremili projekt.
  6. Sljedeći je prikazan novi prozor "Nova .Net Core web aplikacija ...".
  7. Na padajućem popisu na vrhu odaberite .Net Core kao runtime i ASP.Net Core 2.2 (ili noviji).
  8. Odaberite API kao predložak projekta
  9. Obavezno označite potvrdne okvire "Omogući podršku za Docker" i "Konfiguriraj za HTTPS" jer ovdje nećemo koristiti te značajke.
  10. Obavezno odaberite "No Authentication" jer ni mi nećemo koristiti autentifikaciju.
  11. Kliknite U redu.

Sada biste trebali imati novi ASP.Net Core projekt spreman za rad u Visual Studiju. Dalje, morat ćete instalirati nužni NuGet paket za korištenje NCachea. Instalirajte sljedeći NuGet paket putem prozora NuGet Package Manager ili s konzole NuGet Package Manager:

Alachisoft.NCache.SessionServices

Jednom kada je ovaj NuGet paket instaliran u vaš projekt, postat ćete spremni za upotrebu NCachea.

Upotrijebite sučelje IDistributedCache u ASP.Net Core

Da biste koristili distribuiranu predmemoriju u aplikacijama ASP.Net Core, trebali biste koristiti sučelje IDistributedCache. Sučelje IDistributedCache uvedeno je u ASP.Net Core kako bi vam omogućilo lako uključivanje okvira za predmemoriranje treće strane. Evo kako izgleda IDistributedCache.

prostor imena Microsoft.Extensions.Caching.Distributed

{

    javno sučelje IDistributedCache

    {

        byte [] Get (ključ niza);

        void Refresh (ključ niza);

        void Ukloni (ključ niza);

        void Set (ključ niza, vrijednost bajta [],

        Opcije DistributedCacheEntryOptions);

    }

}

Konfigurirajte NCache kao pružatelja IDistributedCache u ASP.Net Core

Da biste radili s distribuiranim predmemoriranjem pomoću NCachea, trebali biste uputiti poziv metodi AddNCacheDistributedCache u metodi ConfigureServices datoteke Startup.cs, kao što je prikazano u isječku koda u nastavku. Napominjemo da je metoda AddNCacheDistributedCache () produžetak metode AddNDistributedCache () ASP.Net Core.

javna praznina ConfigureServices (usluge IServiceCollection)

        {

            usluge.AddNCacheDistributedCache (konfiguracija =>

            {

                configuration.CacheName = "DistributedCache";

                configuration.EnableLogs = true;

                configuration.ExceptionsEnabled = true;

            });          

 usluge.AddMvc (). SetCompatibilityVersion

(CompatibilityVersion.Version_2_2);

        }

I to je sve što trebate učiniti. Sada možete početi koristiti NCache u svom projektu.

Koristite NCache za spremanje i dohvaćanje predmemoriranih objekata u ASP.Net Core

Sljedeći isječak koda ilustrira kako možete raditi s NCacheom. Dolje prikazana metoda GetAuthor dohvaća objekt Author iz predmemorije ako je dostupan. Ako objekt Author nije dostupan u predmemoriji, metoda GetAuthor dohvaća ga iz baze podataka, a zatim sprema objekt u predmemoriju.

 javni async zadatak GetAuthor (int id)

        {

            _cache = NCache.InitializeCache ("CacheName");

            var cacheKey = "Ključ";

            Autor autor = null;

            if (_cache! = null)

            {

                author = _cache.Get (cacheKey) kao Autor;

            }

           if (author == null) // Podaci nisu dostupni u predmemoriji

            {

                // Ovdje napišite kod da biste preuzeli autora

                // objekt iz baze podataka

                ako (autor! = null)

                {

                    if (_cache! = null)

                    {

                        _cache.Insert (cacheKey, autor, null,

                         Cache.NoAbsoluteExpiration,

                         Vremenski raspon. Od minuta (10), 

                         Alachisoft.NCache.Runtime.

                         CacheItemPriority.Default);

                    }

                }

            }

            povratak autor;

        }

A ovdje je klasa Autor.

 javni razred Autor

    {

        javni int AuthorId {get; postavljen; }

        javni niz FirstName {get; postavljen; }

        javni niz LastName {get; postavljen; }

    }

NCache tvrtke Alachisoft distribuirano je rješenje za predmemoriranje za .Net. Sučelje IDistributedCache pruža standardni API za rad s distribuiranom predmemorijom u ASP.Net Core. Pomoću njega možete brzo i jednostavno priključiti predmemorije trećih strana poput NCachea.