NCache, un in-memory distribuito, linearmente scalabile e veloce negozio di valori-chiave consente la memorizzazione nella cache degli oggetti per ridurre i viaggi del database e scalare facilmente carichi maggiori. Allo stesso modo, Redis è anche una soluzione di memorizzazione nella cache distribuita ma manca di funzionalità chiave come SQL & Supporto LINQ, Cache client (InProc) ed Clustering peer-to-peer ecc. Per .NET Redis applicazioni client, NCache fornisce un'API wrapper identica a StackExchange.Redis API in modo che gli utenti possano passare facilmente a NCache con modifiche minime al codice.
Pertanto, il passaggio effettivo è conoscere la migrazione da Redis a NCache. Questo blog fornisce una guida dettagliata su ciò che è necessario fare per una migrazione agevole da Redis a NCache.
Bisogno di NCache Involucro per Redis per .NET e .NET Core
Con tutto ciò che è stato detto sopra, ora immagina a Redis client che utilizza un puro .NET/.NET Core applicazione, che desidera eseguire il porting con una modifica minima del codice e funzionalità aggiuntive. Cosa dovrebbe fare? Utilizzo NCache! Fornisce molte funzionalità e una migrazione senza interruzioni da Redis a NCache.
Tuttavia, per l'utilizzo NCache con il tuo Redis applicazione client, dovresti imparare molto NCache, le sue funzionalità fornite e quindi incorporare NCache svolgendo anche altre funzioni. L'applicazione distribuita dovrà essere nuovamente testata ancora e ancora, il che diventerebbe un processo molto costoso e problematico.
Così, NCache risolto il problema di cui sopra in modo molto intelligente; ha implementato un wrapper over NCache API che è identica a quella di StackExchange.Redis API. Questo è lo StackExchange standard.Redis API a causa della quale è richiesta una modifica minima del codice al tuo Redis applicazione client per utilizzarla in modo scalabile con NCache.
Come fare uso di NCache Involucro per Redis Condivide
La parte migliore della migrazione da Redis a NCache è la facilità di nessun codice e nessuna modifica logica richiesta per la migrazione. Lo scambio di pile.Redis Il comportamento dell'API è lo stesso in tutto NCache integrato con Redis applicazione client.
Come utente, devi solo modificare alcuni spazi dei nomi per fornire l'accesso alla cache insieme al download del file Pacchetto NuGet e tutta la tua applicazione è a posto. Viene caricato il codice sorgente per questo wrapper insieme a un'applicazione di esempio GitHub.
Passo 1: Scarica NCache Redis Wrapper NuGet
NCache fornisce un Pacchetto NuGet da installare nel tuo StackExchange.Redis applicazione. Il pacchetto NuGet contiene il client.ncconf file utilizzato per configurare l'accesso del client cache NCache cluster dalla macchina client.
1 |
Install-Package NCache.StackExchange.Redis |
Passaggio:2 Aggiungi lo spazio dei nomi alla tua applicazione
Aggiungi il seguente spazio dei nomi, nell'applicazione e nei file di origine:
1 |
NCache.StackExchange.Redis |
Passo 3: Collegati alla cache e al NCache Banca Dati
Il prossimo passo è connettersi alla cache tramite il Classe ConnectionMultiplexer che è l'oggetto centrale in StackExchange.Redis API che nasconde i dettagli di più server. Assicurati che la cache sia in esecuzione in modo che le operazioni possano essere eseguite senza problemi. Puoi anche imparare come creare una cache dalla guida passo passo in NCache documentazione.
1 |
ConnectionMultiplexer ncache = ConnectionMultiplexer.Connect(“cacheName”); |
Proprio come NCache fornisce un ICache interfaccia per ottenere un'istanza di un NCachecache di OttieniNCacheinteface è quello di ottenere la memorizzazione nella cache attraverso il Redis interfaccia.
1 |
ICache cache = ncache.GetNCacheInterface(“cacheName”); |
Proprio come accedere a un Redis database, è molto semplice da usare NCache come un involucro come scritto di seguito.
1 |
var db = ncache.GetDatabase(); |
Inoltre, insieme al resto dell'applicazione, puoi continuare a utilizzare StackExchange.Redis API nello stesso modo in cui stavi utilizzando prima senza modifiche al codice.
Una volta che l'applicazione è collegata al NCache cache cluster, puoi eseguire operazioni abbastanza facilmente e basta, il tuo Redis l'applicazione è ora migrata a NCache. Quindi, seguendo solo pochi passaggi, migra il tuo intero Redis applicazione NCache senza alcun problema.
Perché NCache Involucro per a Redis Cliente?
utilizzando NCache per Redis l'applicazione client offre i seguenti vantaggi:
-
- Query SQL e LINQ: NCache fornisce il supporto SQL e LINQ per interrogare la cache in base agli attributi degli oggetti, gruppi/sottogruppi, tag ed tag denominati Questo rende davvero facile la ricerca dei dati che hai archiviato nella cache.
- Codice lato server (.NET): NCache ti permette di schierare codice lato server da eseguire sui server cache nel cluster. Viene fornito un ricco set di funzionalità per consentire di sviluppare e distribuire codice lato server in .NET. Alcune caratteristiche sono Lettura, Scrivere attraverso ed Caricatore di cache.
- Mantenere la cache fresca (dipendenze): NCache assicura che la tua cache sia sempre aggiornata e puoi fare affidamento sulla sua integrità dei dati. Se i dati nella cache diventano obsoleti, vengono immediatamente aggiornati a quelli del database. NCache fornisce un elenco di funzionalità per questo scopo come Sincronizza la cache con il database ed dipendenze a differenza di Redis che dà solo attraverso le scadenze.
- Prestazioni cache (cache client (velocità InProc)): NCache offre il Cache cliente (Near Cache) che è fondamentalmente una cache locale molto vicina alla tua applicazione (InProc/OutProc). Dà alla tua applicazione velocità InProc, il che significa un recupero più veloce degli oggetti.
Conclusione
Per riassumere, quello che abbiamo imparato dal blog è come NCache wrapper ti consente di migrare il tuo intero Redis applicazione NCache seguendo una serie di semplici passaggi. Puoi usare facilmente NCache's funzionalità semplicemente usando il NCache Redis wrapper senza modifiche al codice e StackExchange originale.Redis API. Ce ne sono molti altri funzionalità fornite da NCache che migliorano le prestazioni della tua applicazione e ti aiutano a raggiungere la scalabilità che desideri.
NCache Dettagli Scaricare NCache Confronto edizione