C# Redis Client ServiceStack je jednoduchý, vysoce výkonný a na funkce bohatý C# klient pro Redis s nativní podporou a abstrakcemi na vysoké úrovni pro serializaci POCO a komplexních typů.
S RedisClient
je k dispozici řada různých rozhraní API implementující následující rozhraní:
- Poskytovatel mezipaměti – Pokud používáte Redis výhradně jako mezipaměť, měli byste se vázat na společné rozhraní ServiceStack, protože v ServiceStacku již jsou k dispozici implementace In-Memory a Memcached, které vám umožňují snadno přepínat poskytovatele
- IRedisNativeClient / Async – pro ty, kteří chtějí nízkoúrovňový nezpracovaný bajtový přístup (kde můžete ovládat vlastní serializaci/deserializaci), který mapuje 1:1 se stejnojmennými operacemi Redis.
Ve většině případů, pokud požadujete přístup ke specifickým funkcím Redis, byste se chtěli svázat s níže uvedeným rozhraním:
- IRedisClient / Async – Poskytuje přátelštější a popisnější rozhraní API, které umožňuje ukládat hodnoty jako řetězce (kódování UTF8).
- Obecná klientská rozhraní API Redis – vytvořená pomocí
redis.As<T>()
- vrací „silně typovaného klienta“, který poskytuje typizované rozhraní pro všechny operace s hodnotami redis, které funguje proti jakémukoli typu C#/.NET POCO.
Rozhraní fungují čistě s jakýmkoli IOC a umožňují logice vaší aplikace navázat se na rozhraní bez implementace, která lze snadno zesměšňovat a nahradit.
Přehled hierarchie tříd pro klienty C# Redis vypadá takto:
RedisTypedClient (POCO) > RedisClient (string) > RedisNativeClient (raw byte[])
Každý klient poskytuje různé vrstvy abstrakce:
- RedisNativeClient odhaluje nezpracovaný
byte[]
apis a neprovádí žádné řazení a předává všechny hodnoty přímo redis. - RedisClient předpokládá
string
hodnoty a jednoduše převede řetězce na UTF8 bajty před odesláním do Redis - RedisTypedClient poskytuje obecné rozhraní, které vám umožňuje přidávat hodnoty POCO. POCO jsou serializovány pomocí ServiceStack.Text, který je poté převeden do UTF8 bajtů a odeslán do Redis.
Přehled rozhraní API #