Programiranje

Kako uporabljati NCache v ASP.Net Core

Čeprav ASP.Net Core nima predmeta predpomnilnika, nudi podporo za več različnih vrst predpomnjenja, vključno s predpomnjenjem v pomnilniku, porazdeljenim predpomnjenjem in predpomnjenjem odzivov. Odprtokodni izdelek, ki ga zagotavlja Alachisoft, je NCache izjemno hiter, v pomnilniku razdeljen, razširljiv okvir za predpomnjenje za uporabo v .Net aplikacijah.

NCache je 100-odstotni izvorni .Net. Ne samo, da je hitrejši od Redisa, ampak ponuja tudi več funkcij porazdeljenega predpomnjenja, ki jih Redis ne podpira. Več o razlikah med NCache in Redis lahko izveste tukaj. V tem članku bomo razpravljali o tem, kako lahko delamo z NCache v aplikacijah ASP.Net Core.

Razdeljeni predpomnilnik, kot je NCache, lahko izboljša tako zmogljivost kot razširljivost aplikacij. V razdeljenem predpomnilniku se predpomnjeni podatki ne nahajajo v pomnilniku posameznega spletnega strežnika. Strežnik lahko dodate ali odstranite, ne da bi to vplivalo na predpomnilnik ali predpomnjene podatke. In če se kateri od strežnikov zruši ali se neha odzivati, bodo drugi strežniki še vedno mogli pridobiti predpomnjene podatke. To pojasnjuje, zakaj lahko predpomnjeni podatki v porazdeljenem predpomnilniku preživijo ponovni zagon strežnika.

Ustvarite projekt ASP.Net Core v Visual Studio

Najprej ustvarimo projekt ASP.Net Core. Če Visual Studio 2017 deluje in deluje v vašem sistemu, sledite spodnjim korakom, da ustvarite nov projekt ASP.Net Core v Visual Studio.

  1. Zaženite Visual Studio 2017 IDE.
  2. Kliknite Datoteka> Novo> Projekt.
  3. Na seznamu prikazanih predlog izberite »Spletna aplikacija ASP.Net Core (.Net Core)«.
  4. Navedite ime projekta.
  5. Kliknite V redu, da shranite projekt.
  6. Naslednje se prikaže novo okno »New .Net Core Web Application ...«.
  7. Na spustnem seznamu na vrhu izberite .Net Core kot izvajalno okolje in ASP.Net Core 2.2 (ali novejšo).
  8. Kot predlogo projekta izberite API
  9. Prepričajte se, da sta potrditveni polji »Omogoči podporo za Docker« in »Konfiguriranje za HTTPS« odstranjeni, saj tukaj ne bomo uporabljali teh funkcij.
  10. Prepričajte se, da je izbrana možnost »No Authentication«, saj tudi overjanja ne bomo uporabljali.
  11. Kliknite V redu.

Zdaj bi morali imeti v Visual Studio pripravljen nov projekt ASP.Net Core. Nato boste morali namestiti potreben paket NuGet za uporabo NCache. Preko okna NuGet Package Manager ali iz konzole NuGet Package Manager namestite naslednji paket NuGet:

Alachisoft.NCache.SessionServices

Ko je ta paket NuGet nameščen v vašem projektu, ste pripravljeni za uporabo NCache.

Uporabite vmesnik IDistributedCache v ASP.Net Core

Za uporabo porazdeljenega predpomnilnika v aplikacijah ASP.Net Core uporabite vmesnik IDistributedCache. Vmesnik IDistributedCache je bil uveden v ASP.Net Core, da vam omogoča enostavno priključitev ogrodja predpomnjenja drugih proizvajalcev. Evo, kako izgleda IDistributedCache.

imenski prostor Microsoft.Extensions.Caching.Distributed

{

javni vmesnik IDistributedCache

    {

byte [] Get (ključ niza);

void Refresh (tipka niza);

void Odstrani (nizni ključ);

void Set (niz ključa, vrednost bajta [],

Možnosti DistributedCacheEntryOptions);

    }

}

Konfigurirajte NCache kot ponudnika IDistributedCache v ASP.Net Core

Če želite delati s porazdeljenim predpomnjenjem z uporabo NCache, pokličite metodo AddNCacheDistributedCache v metodi ConfigureServices datoteke Startup.cs, kot je prikazano v spodnjem delčku kode. Upoštevajte, da je metoda AddNCacheDistributedCache () razširitev metode AddNDistributedCache () ASP.Net Core.

public void ConfigureServices (storitve IServiceCollection)

        {

services.AddNCacheDistributedCache (konfiguracija =>

            {

configuration.CacheName = "DistributedCache";

configuration.EnableLogs = true;

configuration.ExceptionsEnabled = true;

            });          

services.AddMvc (). SetCompatibilityVersion

(CompatibilityVersion.Version_2_2);

        }

In to je vse, kar morate storiti. Zdaj lahko začnete uporabljati NCache v svojem projektu.

Uporabite NCache za shranjevanje in pridobivanje predpomnjenih predmetov v ASP.Net Core

Naslednji delček kode prikazuje, kako lahko delate z NCache. Spodaj prikazana metoda GetAuthor pridobi objekt Author iz predpomnilnika, če je na voljo. Če objekt Author ni na voljo v predpomnilniku, ga metoda GetAuthor pridobi iz baze podatkov in nato objekt shrani v predpomnilnik.

 javno asinh. opravilo GetAuthor (int id)

        {

_cache = NCache.InitializeCache ("CacheName");

var cacheKey = "Ključ";

Avtor avtor = null;

če (_cache! = null)

            {

avtor = _cache.Get (cacheKey) kot avtor;

            }

if (author == null) // Podatki niso na voljo v predpomnilniku

            {

// Tukaj napiši kodo po avtorja

// objekt iz baze podatkov

če (avtor! = nič)

                {

če (_cache! = null)

                    {

_cache.Insert (cacheKey, avtor, null,

Cache.NoAbsoluteExpiration,

Časovni razpon od minut (10),

Alachisoft.NCache.Runtime.

CacheItemPriority.Default);

                    }

                }

            }

avtor vrnitve;

        }

In tukaj je razred Avtor.

 javni razred Avtor

    {

public int AuthorId {get; set; }

javni niz FirstName {get; set; }

javni niz LastName {get; set; }

    }

NCache podjetja Alachisoft je porazdeljena rešitev za predpomnjenje za .Net. Vmesnik IDistributedCache ponuja standardni API za delo z porazdeljenim predpomnilnikom v ASP.Net Core. Z njim lahko hitro in enostavno priključite predpomnilnike drugih proizvajalcev, kot je NCache.