Il framework ASP.NET tradizionale si basava su ASP.NET Cache, che era limitata a un singolo server (InProc) e non supportava ambienti multi-server. Inoltre, non consentiva l'integrazione con cache distribuite di terze parti. Di conseguenza, gli sviluppatori erano costretti ad affidarsi a meccanismi di caching autonomi e inefficienti.
Microsoft ha risolto queste sfide con ASP.NET Core, introducendo il IDistributedCache, interfaccia per soluzioni di caching multi-server scalabili. NCache è facile da integrare con IDistributedCache, che conferisce alle tue applicazioni ASP.NET Core prestazioni elevate, livello di memorizzazione nella cache ricco di funzionalità.
L'interfaccia IDistributedCache fornisce un meccanismo di memorizzazione nella cache centralizzato che funziona su più server, rendendolo ideale per cloud-native, containerizzatoe basato su microservizi architetture. Mentre l'interfaccia standard definisce il contratto, NCache fornisce l'implementazione distribuita effettiva che garantisce la persistenza dei dati anche dopo i riavvii del server e la scalabilità lineare in base al traffico.
using Microsoft.Extensions.Caching.Distributed;
using System.Threading;
using System.Threading.Tasks;
public interface IDistributedCache
{
byte[]? Get(string key);
Task<byte[]?> GetAsync(string key, CancellationToken token = default);
void Refresh(string key);
Task RefreshAsync(string key, CancellationToken token = default);
void Remove(string key);
Task RemoveAsync(string key, CancellationToken token = default);
void Set(string key, byte[] value, DistributedCacheEntryOptions options);
Task SetAsync(string key, byte[] value, DistributedCacheEntryOptions options, CancellationToken token = default);
}
Molte soluzioni di caching, come MemoriaDistribuitaCache, sono limitati a un singolo server, rendendoli inadatti per applicazioni che necessitano modulabilità and elevata disponibilità. NCache, d'altro canto, è una vera e propria soluzione di caching distribuito, progettata specificamente per le applicazioni .NET, che garantisce migliori prestazioni e scalabilità.
Integrazione NCache con la tua applicazione ASP.NET Core è semplice. Puoi collegarti NCache senza modificare la logica dell'applicazione esistente. Ciò consente di passare senza problemi dalla memorizzazione nella cache in memoria a una cache distribuita ad alta disponibilità.
Install-Package Alachisoft.NCache.DistributedCache
var builder = WebApplication.CreateBuilder(args);
// Register NCache as the IDistributedCache provider
// Benefits: Multi-server scalability, High Availability, and 100% Native .NET
builder.Services.AddNCacheDistributedCache(options =>
{
options.CacheName = builder.Configuration["NCache:CacheName"];
// NCache settings can be dynamically adjusted in appsettings.json
// ensuring zero-downtime configuration changes
});
var app = builder.Build();
app.MapControllers();
app.Run();
In alternativa, puoi configurare NCache nella appsettings.json archivia e carica le impostazioni in modo dinamico:
{
"NCacheSettings": {
"CacheName": "myCache",
"EnableLogs": true,
"EnableStatistics": true
}
}
Ciò garantisce scalabilità, tolleranza agli errori ed elevata disponibilità negli ambienti di produzione.
Migliori IDistributedCache L'interfaccia fornisce un archivio chiave-valore di base, utile ma piuttosto limitato nelle funzionalità. NCache va ben oltre offrendo un'API di caching estesa e ad alte prestazioni che consente un caching potente e distribuito per le applicazioni aziendali.
| Caratteristica | Standard IDistributedCache (Basic) | NCache API (Impresa) |
|---|---|---|
| Flessibilità delle query | Solo ricerca chiave-valore | Query SQL e LINQ |
| Organizzazione dei dati | Struttura piatta | Tag e tag denominati |
| Integrità dei dati | Articoli indipendenti | Dipendenze della cache (relazioni) |
| Messaggistica in tempo reale | Non supportato | Messaggistica Pub/Sub |
| Sincronizzazione del database | È richiesta la codifica manuale | Lettura e scrittura automatiche |
| Disponibilità dei dati | Vuoto all'avvio | Caricatore di cache e aggiornamento |
Utilizzando il NCache API, le organizzazioni possono superare i limiti di IDistributedCache, ottenendo prestazioni migliorate, flessibilità e caching di livello aziendale per le loro applicazioni .NET.
Pronti a ottimizzare le vostre applicazioni ASP.NET Core con la cache distribuita ad alte prestazioni? Scoprite di più NCache e sfruttarne le potenti funzionalità.
© Copyright Alachisoft 2002 - . Tutti i diritti riservati. NCache è un marchio registrato di Diyatech Corp.