Programmering

Hvordan jobbe med Redis Cache i .NET

Caching er en statsadministrasjonsstrategi som kan brukes til å forbedre ytelsen til applikasjonene dine, da det hjelper deg med å redusere forbruket av ressurser i systemet ditt.

Redis Cache er en åpen kildekode, høyhastighets NoSQL-database. Det er raskt, og det kjører helt i minnet med ubetydelig ytelse overhead når du leser og skriver data. Det skal bemerkes at Redis er gratis for både kommersiell og ikke-kommersiell bruk under BSD-lisensen.

Hva er Redis Cache, og hvorfor skal jeg bruke det?

Redis er en av de mest populære open source, NoSQL, minnebaserte datalagrene som er tilgjengelige. Det er en datalager i minnet som kan støtte et bredt utvalg av datastrukturer, dvs. strenger, hashes, sett, lister osv. Redis gir også innebygd støtte for replikering og transaksjoner, samt utmerket støtte for datapresistens.

Redis er et godt valg først og fremst hvis applikasjonen din trenger å lagre og hente en enorm mengde data. Hvis applikasjonen din trenger å lagre og hente mye data, og tilgjengeligheten av ledig minne ikke er en begrensning, er Redis Cache den cachemotoren du bør gå etter. Å sette opp Redis er ganske enkelt - avsnittene som følger diskuterer hvordan du installerer, konfigurerer og bruker Redis.

Installere Redis

Du kan laste ned en kopi av Redis Cache fra GitHub. Mens du installerer Redis, bør du sjekke muligheten for å legge Redis til PATH-miljøvariabelen. Når Redis Cache er installert i systemet ditt, kan du skrive Kjør -> service.msc for å se Redis-tjenesten kjører i systemet ditt.

Jobber med C # Redis-klienten

Nå som Redis er installert i systemet ditt, trenger du en klient for å lagre og hente data til og fra Redis Cache. I dette eksemplet bruker vi ServiceStack C # Redis open source-klient. For å gjøre dette, opprett et nytt konsollapplikasjonsprosjekt i Visual Studio. Du kan installere ServiceStack.Redis via NuGet pakkebehandling.

Forutsatt at ServiceStack.Redis er installert via NuGet, illustrerer følgende to metoder hvordan du kan lagre og hente data fra Redis Cache ved hjelp av ServiceStack.Redis API.

privat statisk bool Lagre (strengvert, strengnøkkel, strengverdi)

        {

bool isSuccess = false;

bruker (RedisClient redisClient = ny RedisClient (vert))

            {

hvis (redisClient.Get (nøkkel) == null)

                {

isSuccess = redisClient.Set (nøkkel, verdi);

                }

            }

retur erSuksess;

        }

privat statisk streng Get (streng vert, streng nøkkel)

        {

bruker (RedisClient redisClient = ny RedisClient (vert))

            {

returner redisClient.Get (nøkkel);

            }

        }

Legg merke til hvordan Set and Get-metodene i klassen RedisClient har blitt brukt til å lagre og hente data til og fra Redis Cache. Jeg overlater til deg å oppdatere disse to metodene for å gjøre dem generiske slik at de kan jobbe med alle typer.

Slik kan du kalle disse metodene fra hovedmetoden:

statisk tomrom Main (streng [] args)

        {

streng vert = "localhost";

strengnøkkel = "";

// Lagre data i hurtigbufferen

bool suksess = Lagre (vert, nøkkel, "Hello World!");

// Hent data fra hurtigbufferen ved hjelp av nøkkelen

Console.WriteLine ("Data hentet fra Redis Cache:" + Get (vert, nøkkel));

Console.Read ();

        }

Som jeg sa tidligere, er Redis funksjonsrikt. I en av mine fremtidige artikler her vil jeg diskutere noen avanserte konsepter som utholdenhet, pub-sub, automatisk failover osv. Du kan dra nytte av RDB (en enkelt kompakt fil) eller AOF-måte å utholde. Du må imidlertid vurdere avveiningene mellom ytelse, holdbarhet og disk-I / U før du velger riktig utholdenhetsalternativ.

Du kan lære mer om Redis fra prosjektets elektroniske dokumentasjon.

Hvis du er interessert i å bruke et GUI-administratorverktøy for å se Redis-dataene dine, kan du prøve Redis Admin UI-verktøyet.