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