Programmering

Sådan arbejder du med Redis Cache i .NET

Caching er en statsstyringsstrategi, der kan bruges til at forbedre dine applikations ydeevne, da det hjælper dig med at reducere forbruget af ressourcer i dit system.

Redis Cache er en open source, højhastigheds NoSQL-database. Det er hurtigt, og det kører helt i hukommelsen med ubetydelig ydeevne, når du læser og skriver data. Det skal bemærkes, at Redis er gratis til både kommerciel og ikke-kommerciel brug under BSD-licensen.

Hvad er Redis Cache, og hvorfor skal jeg bruge det?

Redis er en af ​​de mest populære open source, NoSQL, tilgængelige hukommelsesbaserede datalagre. Det er en datalager i hukommelsen, der kan understøtte en lang række datastrukturer, dvs. strenge, hashes, sæt, lister osv. Redis giver også indbygget understøttelse af replikering og transaktioner samt fremragende support til datapretention.

Redis er et godt valg primært, hvis din applikation skal gemme og hente en enorm mængde data. Hvis din applikation skal gemme og hente masser af data, og tilgængeligheden af ​​ledig hukommelse ikke er en begrænsning, er Redis Cache den cachemotor, du skal gå til. Opsætning af Redis er ret simpelt - de følgende afsnit diskuterer, hvordan du installerer, konfigurerer og bruger Redis.

Installation af Redis

Du kan downloade en kopi af Redis Cache fra GitHub. Mens du installerer Redis, skal du kontrollere muligheden for at tilføje Redis til PATH-miljøvariablen. Når Redis Cache er installeret i dit system, kan du skrive Kør -> service.msc for at se Redis-tjenesten køre i dit system.

Arbejde med C # Redis-klienten

Nu hvor Redis er blevet installeret i dit system, skal du have en klient til at gemme og hente data til og fra Redis Cache. I dette eksempel bruger vi ServiceStack C # Redis open source-klienten. For at gøre dette skal du oprette et nyt konsolapplikationsprojekt i Visual Studio. Du kan installere ServiceStack.Redis via NuGet pakkehåndtering.

Forudsat at ServiceStack.Redis er blevet installeret via NuGet, illustrerer følgende to metoder, hvordan du kan gemme og hente data fra Redis Cache ved hjælp af ServiceStack.Redis API.

privat statisk bool Gem (streng vært, streng nøgle, streng værdi)

        {

bool isSuccess = false;

ved hjælp af (RedisClient redisClient = ny RedisClient (vært))

            {

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

                {

isSuccess = redisClient.Set (nøgle, værdi);

                }

            }

return isSuccess;

        }

privat statisk streng Get (streng vært, streng nøgle)

        {

ved hjælp af (RedisClient redisClient = ny RedisClient (vært))

            {

returner redisClient.Get (nøgle);

            }

        }

Bemærk, hvordan Set og Get-metoderne i RedisClient-klassen er blevet brugt til at gemme og hente data til og fra Redis Cache. Jeg overlader til dig at opdatere disse to metoder for at gøre dem generiske, så de kan arbejde med enhver type.

Her er hvordan du kan kalde disse metoder fra hovedmetoden:

statisk ugyldigt Main (streng [] args)

        {

streng vært = "localhost";

streng nøgle = "";

// Gem data i cachen

bool success = Gem (vært, nøgle, "Hello World!");

// Hent data fra cachen ved hjælp af nøglen

Console.WriteLine ("Data hentet fra Redis Cache:" + Get (vært, nøgle));

Console.Read ();

        }

Som jeg sagde tidligere, er Redis funktionsrig. I en af ​​mine fremtidige artikler her vil jeg diskutere nogle avancerede begreber som persistens, pub-sub, automatisk failover osv. Du kan drage fordel af RDB (en enkelt kompakt fil) eller AOF-måde til persistens. Du skal dog overveje kompromiserne mellem ydeevne, holdbarhed og disk I / O, før du vælger den rigtige persistensmulighed.

Du kan lære mere om Redis fra projektets online dokumentation.

Hvis du er interesseret i at bruge et GUI-adminværktøj til at se dine Redis-data, kan du prøve Redis Admin UI-værktøjet.

$config[zx-auto] not found$config[zx-overlay] not found