Programování

Jak používat NCache v ASP.Net Core

Ačkoli ASP.Net Core postrádá objekt mezipaměti, poskytuje podporu pro několik různých typů ukládání do mezipaměti, včetně ukládání do mezipaměti v paměti, distribuovaného ukládání do mezipaměti a ukládání do mezipaměti odpovědí. Produkt NCache jako produkt typu open-source poskytovaný společností Alachisoft je extrémně rychlý, v paměti distribuovaný a škálovatelný rámec pro ukládání do mezipaměti pro použití v aplikacích .Net.

NCache je 100% nativní síť. Je to nejen rychlejší než Redis, ale také poskytuje několik funkcí distribuovaného ukládání do mezipaměti, které Redis nepodporuje. Zde se můžete dozvědět více o rozdílech mezi NCache a Redis. Tento článek pojednává o tom, jak můžeme pracovat s NCache v aplikacích ASP.Net Core.

Distribuovaná mezipaměť, jako je NCache, může zlepšit výkon i škálovatelnost aplikací. V distribuované mezipaměti nejsou data uložená v mezipaměti uložena v paměti konkrétního webového serveru. Můžete přidat nebo odebrat server, aniž by to ovlivnilo mezipaměť nebo data v mezipaměti. A pokud některý ze serverů selže nebo přestane reagovat, ostatní servery budou stále schopny načíst data uložená v mezipaměti. To vysvětluje, proč data uložená v mezipaměti v distribuované mezipaměti mohou přežít restartování serveru.

Vytvořte projekt ASP.Net Core v sadě Visual Studio

Nejprve vytvořme projekt ASP.Net Core. Pokud je Visual Studio 2017 ve vašem systému funkční, postupujte podle níže uvedených kroků a vytvořte nový projekt ASP.Net Core v sadě Visual Studio.

  1. Spusťte Visual Studio 2017 IDE.
  2. Klikněte na Soubor> Nový> Projekt.
  3. V seznamu zobrazených šablon vyberte „Webová aplikace ASP.Net Core (.Net Core)“.
  4. Zadejte název projektu.
  5. Kliknutím na OK projekt uložíte.
  6. Dále se zobrazí nové okno „Nová webová aplikace .Net Core…“.
  7. Vyberte .NET Core jako běhový modul a ASP.Net Core 2.2 (nebo novější) z rozevíracího seznamu v horní části.
  8. Jako šablonu projektu vyberte API
  9. Ujistěte se, že políčka „Povolit podporu Dockeru“ a „Konfigurovat pro HTTPS“ nejsou zaškrtnuta, protože zde tyto funkce nebudeme používat.
  10. Ujistěte se, že je vybráno „Žádné ověření“, protože také nebudeme používat ověření.
  11. Klikněte na OK.

Nyní byste měli mít nový projekt ASP.Net Core připravený k použití ve Visual Studiu. Dále budete muset nainstalovat potřebný balíček NuGet pro použití NCache. Nainstalujte následující balíček NuGet prostřednictvím okna Správce balíčků NuGet nebo z konzoly Správce balíčků NuGet:

Alachisoft.NCache.SessionServices

Jakmile je tento balíček NuGet nainstalován ve vašem projektu, máte vše nastaveno na používání NCache.

Použijte rozhraní IDistributedCache v ASP.Net Core

Chcete-li použít distribuovanou mezipaměť v aplikacích ASP.Net Core, měli byste použít rozhraní IDistributedCache. Rozhraní IDistributedCache bylo představeno v ASP.Net Core, aby vám umožnilo snadno připojit mezipaměťové rámce třetích stran. Takto vypadá IDistributedCache.

jmenný prostor Microsoft.Extensions.Caching.Distributed

{

veřejné rozhraní IDistributedCache

    {

byte [] Získat (klíč řetězce);

void Refresh (klíč řetězce);

void Remove (klíč řetězce);

void Set (řetězcový klíč, hodnota bytu [],

Možnosti DistributedCacheEntryOptions);

    }

}

Nakonfigurujte NCache jako poskytovatele IDistributedCache v ASP.Net Core

Chcete-li pracovat s distribuovaným ukládáním do mezipaměti pomocí NCache, měli byste zavolat metodu AddNCacheDistributedCache v metodě ConfigureServices souboru Startup.cs, jak je ukázáno v fragmentu kódu níže. Všimněte si, že metoda AddNCacheDistributedCache () je rozšířením metody AddNDistributedCache () technologie ASP.Net Core.

public void ConfigureServices (služby IServiceCollection)

        {

services.AddNCacheDistributedCache (konfigurace =>

            {

configuration.CacheName = "DistributedCache";

configuration.EnableLogs = true;

configuration.ExceptionsEnabled = true;

            });          

services.AddMvc (). SetCompatibilityVersion

(CompatibilityVersion.Version_2_2);

        }

A to je vše, co musíte udělat. Nyní můžete ve svém projektu začít používat NCache.

Pomocí NCache můžete ukládat a načítat objekty v mezipaměti v ASP.Net Core

Následující fragment kódu ukazuje, jak můžete pracovat s NCache. Metoda GetAuthor uvedená níže načte Author objekt z mezipaměti, pokud je k dispozici. Pokud objekt Author není k dispozici v mezipaměti, metoda GetAuthor ji načte z databáze a poté objekt uloží do mezipaměti.

 veřejná asynchronní úloha GetAuthor (int id)

        {

_cache = NCache.InitializeCache ("CacheName");

var cacheKey = "Klíč";

Autor autor = null;

if (_cache! = null)

            {

autor = _cache.Get (cacheKey) jako autor;

            }

if (autor == null) // Data nejsou k dispozici v mezipaměti

            {

// Sem napište kód, abyste načetli autora

// objekt z databáze

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 tady je třída Author.

 veřejná třída Autor

    {

public int AuthorId {get; soubor; }

public string FirstName {get; soubor; }

veřejný řetězec Příjmení {get; soubor; }

    }

NCache od Alachisoft je distribuované řešení ukládání do mezipaměti pro .Net. Rozhraní IDistributedCache poskytuje standardní API pro práci s distribuovanou mezipamětí v ASP.Net Core. Můžete jej použít k rychlému a snadnému připojení mezipaměti třetích stran, jako je NCache.