sql >> Databasteknik >  >> NoSQL >> Redis

C#/.NET-klient för Redis

ServiceStacks C# Redis Client är en enkel, högpresterande och funktionsrik C#-klient för Redis med inbyggt stöd och abstraktioner på hög nivå för att serialisera POCO:er och komplexa typer.

Det finns ett antal olika API:er tillgängliga med RedisClient implementera följande gränssnitt:

  • Cachingleverantör – Om du använder Redis enbart som en cache bör du binda dig till ServiceStacks gemensamma gränssnitt eftersom det redan finns In-Memory och Memcached-implementationer tillgängliga i ServiceStack, vilket gör att du enkelt kan byta leverantör
  • IRedisNativeClient / Async - För dem som vill ha en lågnivå-råbyte-åtkomst (där du kan styra din egen serialisering/deserialisering) som mappar 1:1 med Redis-operationer med samma namn.

I de flesta fall om du behöver tillgång till Redis-specifik funktionalitet skulle du vilja binda till gränssnittet nedan:

  • IRedisClient / Async - Ger ett vänligare, mer beskrivande API som låter dig lagra värden som strängar (UTF8-kodning).
  • Redis generiska klient-API:er - skapade med redis.As<T>() - returnerar en "starkt typad klient" som tillhandahåller ett maskinskrivet gränssnitt för alla redis-värdeoperationer som fungerar mot alla C#/.NET POCO-typer.

Gränssnitten fungerar bra med alla IOC och låter din applogik binda till implementeringsfria gränssnitt som enkelt kan hånas och ersättas.

En översikt över klasshierarkin för C# Redis-klienterna ser ut så här:

RedisTypedClient (POCO) > RedisClient (string) > RedisNativeClient (raw byte[])

Med varje klient tillhandahåller olika lager av abstraktion:

  • RedisNativeClient exponerar rå byte[] apis och gör ingen rangordning och skickar alla värden direkt till redis.
  • RedisClienten antar string värden och konverterar helt enkelt strängar till UTF8-byte innan de skickas till Redis
  • RedisTypedClient tillhandahåller ett generiskt gränssnitt som låter dig lägga till POCO-värden. POCO:er serialiseras med ServiceStack.Text som sedan konverteras till UTF8-byte och skickas till Redis.

API-översikt #


  1. Vilket är det bästa sättet att använda Redis i en multi-threaded Rails-miljö? (Puma / Sidekiq)

  2. Arbetar med @cache_page() dekoratör i django-redis-cache

  3. Hur man bygger en URL Shortener med Node.js och MongoDB

  4. Hur man enkelt hanterar databasuppdateringar och säkerhetskorrigeringar