Redis
 sql >> Base de données >  >> NoSQL >> Redis

Client C#/.NET pour Redis

Le client C# Redis de ServiceStack est un client C# simple, performant et riche en fonctionnalités pour Redis avec un support natif et des abstractions de haut niveau pour la sérialisation des POCO et des types complexes.

Il existe un certain nombre d'API différentes disponibles avec le RedisClient implémentant les interfaces suivantes :

  • Fournisseur de mise en cache :si vous utilisez Redis uniquement comme cache, vous devez vous lier à l'interface commune de ServiceStack car il existe déjà des implémentations In-Memory et Memcached disponibles dans ServiceStack, ce qui vous permet de changer facilement de fournisseur
  • IRedisNativeClient / Async :pour ceux qui souhaitent un accès aux octets bruts de bas niveau (où vous pouvez contrôler votre propre sérialisation/désérialisation) qui mappe 1:1 avec les opérations Redis du même nom.

Dans la plupart des cas, si vous avez besoin d'accéder à des fonctionnalités spécifiques de Redis, vous souhaitez vous lier à l'interface ci-dessous :

  • IRedisClient/Async :fournit une API plus conviviale et plus descriptive qui vous permet de stocker des valeurs sous forme de chaînes (encodage UTF8).
  • API clientes génériques Redis :créées avec redis.As<T>() - renvoie un "client fortement typé" qui fournit une interface typée pour toutes les opérations de valeur Redis qui fonctionne avec n'importe quel type POCO C#/.NET.

Les interfaces fonctionnent proprement avec n'importe quel IOC et permettent à la logique de votre application de se lier à des interfaces sans implémentation qui peuvent facilement être simulées et remplacées.

Voici un aperçu de la hiérarchie des classes pour les clients C# Redis :

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

Chaque client fournissant différentes couches d'abstraction :

  • Le RedisNativeClient expose des byte[] bruts apis et n'effectue aucun regroupement et transmet toutes les valeurs directement à redis.
  • Le RedisClient suppose string valeurs et convertit simplement les chaînes en octets UTF8 avant de les envoyer à Redis
  • Le RedisTypedClient fournit une interface générique vous permettant d'ajouter des valeurs POCO. Les POCO sont sérialisés à l'aide de ServiceStack.Text qui est ensuite converti en octets UTF8 et envoyé à Redis.

Présentation de l'API #