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 #