Redis
 sql >> Database >  >> NoSQL >> Redis

Client C#/.NET per Redis

Il client Redis C# di ServiceStack è un client C# semplice, ad alte prestazioni e ricco di funzionalità per Redis con supporto nativo e astrazioni di alto livello per la serializzazione di POCO e tipi complessi.

Sono disponibili diverse API con RedisClient implementando le seguenti interfacce:

  • Provider di memorizzazione nella cache:se stai utilizzando Redis esclusivamente come cache, dovresti collegarti all'interfaccia comune di ServiceStack poiché in ServiceStack sono già disponibili implementazioni In-Memory e Memcached, che ti consentono di cambiare facilmente provider
  • IRedisNativeClient / Async - Per coloro che desiderano un accesso a byte grezzo di basso livello (dove è possibile controllare la propria serializzazione/deserializzazione) che mappa 1:1 con le operazioni Redis con lo stesso nome.

Nella maggior parte dei casi, se hai bisogno di accedere a funzionalità specifiche di Redis, vorresti collegarti all'interfaccia seguente:

  • IRedisClient / Async:fornisce un'API più semplice e descrittiva che consente di memorizzare i valori come stringhe (codifica UTF8).
  • API client generiche Redis - create con redis.As<T>() - restituisce un "client fortemente tipizzato" che fornisce un'interfaccia tipizzata per tutte le operazioni sui valori redis che funzionano con qualsiasi tipo C#/.NET POCO.

Le interfacce funzionano perfettamente con qualsiasi IOC e consentono alla logica dell'app di collegarsi a interfacce prive di implementazione che possono essere facilmente prese in giro e sostituite.

Una panoramica della gerarchia delle classi per i client C# Redis è simile a:

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

Con ogni client che fornisce diversi livelli di astrazione:

  • RedisNativeClient espone il byte[] grezzo apis e non esegue il marshalling e passa tutti i valori direttamente a redis.
  • Il RedisClient presuppone string valori e converte semplicemente le stringhe in byte UTF8 prima di inviarle a Redis
  • RedisTypedClient fornisce un'interfaccia generica che consente di aggiungere valori POCO. I POCO vengono serializzati utilizzando ServiceStack.Text che viene quindi convertito in byte UTF8 e inviato a Redis.

Panoramica API #