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 #