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