Programovanie

Ako používať NCache v ASP.Net Core

Aj keď ASP.Net Core chýba objekt medzipamäte, poskytuje podporu pre niekoľko rôznych typov ukladania do pamäte cache vrátane ukladania do pamäte cache, distribuovaného ukladania do pamäte cache a ukladania odpovedí do pamäte cache. Produkt NCache ako produkt typu open-source poskytovaný spoločnosťou Alachisoft je mimoriadne rýchly a v pamäti distribuovaný škálovateľný rámec ukladania do pamäte cache na použitie v aplikáciách .Net.

NCache je stopercentne natívny. NET. Je nielen rýchlejší ako Redis, ale poskytuje aj niekoľko funkcií distribuovaného ukladania do pamäte cache, ktoré Redis nepodporuje. Viac informácií o rozdieloch medzi NCache a Redis sa dozviete tu. Tento článok bude pojednávať o tom, ako môžeme pracovať s NCache v aplikáciách ASP.Net Core.

Distribuovaná vyrovnávacia pamäť, ako napríklad NCache, môže zlepšiť výkon aj škálovateľnosť aplikácií. V distribuovanej medzipamäti nie sú dáta vo vyrovnávacej pamäti uložené v pamäti konkrétneho webového servera. Môžete pridať alebo odobrať server bez toho, aby to malo vplyv na medzipamäť alebo údaje uložené v pamäti. A ak niektorý zo serverov zlyhá alebo prestane reagovať, ďalšie servery budú stále schopné načítať údaje z medzipamäte. To vysvetľuje, prečo dáta v medzipamäti v distribuovanej pamäti cache môžu prežiť reštartovanie servera.

Vytvorte projekt ASP.Net Core v Visual Studio

Najprv si vytvoríme projekt ASP.Net Core. Ak je Visual Studio 2017 vo vašom systéme funkčný, vytvorte nový projekt ASP.Net Core v balíku Visual Studio podľa pokynov uvedených nižšie.

  1. Spustite Visual Studio 2017 IDE.
  2. Kliknite na Súbor> Nové> Projekt.
  3. V zozname zobrazených šablón vyberte „Webová aplikácia ASP.Net Core (.Net Core)“.
  4. Zadajte názov projektu.
  5. Kliknutím na tlačidlo OK projekt uložíte.
  6. Ďalej sa zobrazí nové okno „Nová základná webová aplikácia .Net ...“.
  7. Ako runtime vyberte .Net Core a z rozbaľovacieho zoznamu v hornej časti vyberte ASP.Net Core 2.2 (alebo novší).
  8. Ako šablónu projektu vyberte API
  9. Skontrolujte, či nie sú začiarknuté políčka „Povoliť podporu Docker“ a „Konfigurovať pre HTTPS“, pretože tu nebudeme tieto funkcie používať.
  10. Skontrolujte, či je vybratá možnosť „Žiadne overenie“, pretože tiež nebudeme používať overenie.
  11. Kliknite na tlačidlo OK.

Teraz by ste mali mať nový projekt ASP.Net Core pripravený na použitie v Visual Studio. Ďalej budete musieť nainštalovať potrebný balík NuGet na používanie NCache. Nainštalujte nasledujúci balík NuGet cez okno Správcu balíkov NuGet alebo z konzoly Správcu balíkov NuGet:

Alachisoft.NCache.SessionServices

Po nainštalovaní tohto balíka NuGet do vášho projektu je všetko pripravené na používanie NCache.

Použite rozhranie IDistributedCache v ASP.Net Core

Ak chcete použiť distribuovanú medzipamäť v aplikáciách ASP.Net Core, mali by ste použiť rozhranie IDistributedCache. Rozhranie IDistributedCache bolo predstavené v ASP.Net Core, aby vám umožnilo jednoduché pripojenie rámcov ukladania do pamäti tretích strán. Takto vyzerá IDistributedCache.

menný priestor Microsoft.Extensions.Caching.Distribuované

{

verejné rozhranie IDistributedCache

    {

byte [] Získať (reťazcový kľúč);

void Refresh (reťazcový kľúč);

void Remove (reťazcový kľúč);

void Set (reťazcový kľúč, hodnota bytu [],

Možnosti DistributedCacheEntryOptions);

    }

}

Nakonfigurujte NCache ako poskytovateľa IDistributedCache v ASP.Net Core

Ak chcete pracovať s distribuovaným ukladaním do pamäte cache pomocou NCache, mali by ste zavolať metódu AddNCacheDistributedCache v metóde ConfigureServices v súbore Startup.cs, ako je uvedené v útržku kódu nižšie. Všimnite si, že metóda AddNCacheDistributedCache () je rozšírením metódy AddNDistributedCache () technológie ASP.Net Core.

public void ConfigureServices (služby IServiceCollection)

        {

services.AddNCacheDistributedCache (konfigurácia =>

            {

configuration.CacheName = "DistributedCache";

configuration.EnableLogs = true;

configuration.ExceptionsEnabled = true;

            });          

services.AddMvc (). SetCompatibilityVersion

(CompatibilityVersion.Version_2_2);

        }

A to je všetko, čo musíte urobiť. Teraz môžete vo svojom projekte začať používať NCache.

Použite NCache na ukladanie a načítanie objektov v medzipamäti v ASP.Net Core

Nasledujúci úryvok kódu ilustruje, ako môžete pracovať s NCache. Metóda GetAuthor uvedená nižšie načíta objekt Autor z medzipamäte, ak je k dispozícii. Ak objekt Autor nie je k dispozícii v pamäti cache, metóda GetAuthor ju stiahne z databázy a potom objekt uloží do pamäte cache.

 verejná asynchrónna úloha GetAuthor (int id)

        {

_cache = NCache.InitializeCache ("CacheName");

var cacheKey = "Kľúč";

Autor autor = null;

if (_cache! = null)

            {

autor = _cache.Get (cacheKey) ako autor;

            }

if (autor == null) // Údaje nie sú k dispozícii v pamäti cache

            {

// Napíšte kód sem, aby sa načítal autor

// objekt z databázy

if (autor! = null)

                {

if (_cache! = null)

                    {

_cache.Insert (cacheKey, autor, null,

Cache.NoAbsoluteExpiration,

TimeSpan.FromMinutes (10),

Alachisoft.NCache.Runtime.

CacheItemPriority.Default);

                    }

                }

            }

návratový autor;

        }

A tu je trieda Author.

 verejná trieda Autor

    {

public int AuthorId {get; sada; }

verejný reťazec FirstName {get; sada; }

verejný reťazec Priezvisko {get; sada; }

    }

NCache od Alachisoftu je distribuované riešenie pre ukladanie do medzipamäte pre .Net. Rozhranie IDistributedCache poskytuje štandardné API pre prácu s distribuovanou vyrovnávacou pamäťou v ASP.Net Core. Môžete ho použiť na rýchle a ľahké pripojenie kešiek tretích strán, ako je NCache.

$config[zx-auto] not found$config[zx-overlay] not found