Come lavorare con Redis Cache in .NET

La memorizzazione nella cache è una strategia di gestione dello stato che può essere utilizzata per migliorare le prestazioni delle applicazioni in quanto aiuta a ridurre il consumo di risorse nel sistema.

Redis Cache è un database NoSQL open source, ad alta velocità. È veloce e viene eseguito interamente in memoria con un sovraccarico di prestazioni trascurabile durante la lettura e la scrittura dei dati. Va notato che Redis è gratuito sia per uso commerciale che non commerciale con licenza BSD.

Cos'è Redis Cache e perché dovrei usarlo?

Redis è uno dei più popolari archivi di dati in memoria open source NoSQL disponibili. È un archivio dati in memoria che può supportare un'ampia varietà di strutture di dati, ad esempio stringhe, hash, set, elenchi, ecc. Redis fornisce anche il supporto integrato per la replica e le transazioni, oltre a un eccellente supporto per la persistenza dei dati.

Redis è una buona scelta soprattutto se la tua applicazione deve archiviare e recuperare un'enorme quantità di dati. Se la tua applicazione ha bisogno di archiviare e recuperare molti dati e la disponibilità di memoria libera non è un vincolo, Redis Cache è il motore di memorizzazione nella cache che dovresti scegliere. La configurazione di Redis è abbastanza semplice: le sezioni che seguono discutono come installare, configurare e utilizzare Redis.

Installazione di Redis

Puoi scaricare una copia di Redis Cache da GitHub. Durante l'installazione di Redis, dovresti selezionare l'opzione per aggiungere Redis alla variabile d'ambiente PATH. Una volta che Redis Cache è installato nel tuo sistema, puoi digitare Run -> service.msc per vedere il servizio Redis in esecuzione nel tuo sistema.

Lavorare con il client C # Redis

Ora che Redis è stato installato nel sistema, è necessario un client per archiviare e recuperare i dati da e verso Redis Cache. In questo esempio, useremo il client open source ServiceStack C # Redis. A tale scopo, creare un nuovo progetto di applicazione console in Visual Studio. È possibile installare ServiceStack.Redis tramite il gestore di pacchetti NuGet.

Supponendo che ServiceStack.Redis sia stato installato tramite NuGet, i due metodi seguenti illustrano come archiviare e recuperare i dati dalla cache Redis utilizzando l'API ServiceStack.Redis.

Salvataggio bool statico privato (host stringa, chiave stringa, valore stringa)

        {

            bool isSuccess = false;

            utilizzando (RedisClient redisClient = new RedisClient (host))

            {

                if (redisClient.Get (key) == null)

                {

                    isSuccess = redisClient.Set (chiave, valore);

                }

            }

            return isSuccess;

        }

        stringa statica privata Get (host stringa, chiave stringa)

        {

            utilizzando (RedisClient redisClient = new RedisClient (host))

            {

                return redisClient.Get (key);

            }

        }

Nota come i metodi Set e Get della classe RedisClient sono stati usati per archiviare e recuperare i dati da e verso Redis Cache. Lascio a voi l'aggiornamento di questi due metodi per renderli generici in modo che possano funzionare con qualsiasi tipo.

Ecco come puoi chiamare questi metodi dal metodo Main:

static void Main (string [] args)

        {

            stringa host = "localhost";

            chiave stringa = "";

            // Memorizza i dati nella cache

            bool success = Salva (host, chiave, "Hello World!");

            // Recupera i dati dalla cache utilizzando la chiave

            Console.WriteLine ("Dati recuperati dalla cache Redis:" + Get (host, chiave));

            Console.Read ();

        }

Come ho detto prima, Redis è ricco di funzionalità. In uno dei miei prossimi articoli qui, tratterò alcuni concetti avanzati come persistenza, pub-sub, failover automatico, ecc. Puoi sfruttare il modo di persistenza RDB (un singolo file compatto) o AOF. Tuttavia, è necessario considerare i compromessi tra prestazioni, durata e I / O del disco prima di scegliere la giusta opzione di persistenza.

Puoi saperne di più su Redis dalla documentazione in linea del progetto.

Se sei interessato a utilizzare uno strumento di amministrazione della GUI per visualizzare i tuoi dati Redis, puoi provare lo strumento UI di amministrazione di Redis.