sql >> Databáze >  >> NoSQL >> Redis

Klient C#/.NET pro Redis

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 #


  1. Konfigurace redis tak, aby nejprve důsledně vyřazovala starší data

  2. Dynamické vyhledávání Spark Structured Streaming s Redis

  3. Jak nasadit node.js s redis na kubernetes?

  4. Je rámec Mongodb Aggregation rychlejší než map/reduce?