sql >> Base de Datos >  >> NoSQL >> Redis

Cliente C#/.NET para Redis

El cliente C# Redis de ServiceStack es un cliente C# simple, de alto rendimiento y rico en funciones para Redis con soporte nativo y abstracciones de alto nivel para serializar POCO y tipos complejos.

Hay varias API diferentes disponibles con RedisClient implementando las siguientes interfaces:

  • Proveedor de almacenamiento en caché:si usa Redis únicamente como caché, debe enlazar con la interfaz común de ServiceStack, ya que existen implementaciones en memoria y Memcached disponibles en ServiceStack, lo que le permite cambiar fácilmente de proveedor
  • IRedisNativeClient / Async:para aquellos que desean un acceso de byte sin procesar de bajo nivel (donde puede controlar su propia serialización/deserialización) que mapea 1:1 con las operaciones de Redis del mismo nombre.

En la mayoría de los casos, si necesita acceso a la funcionalidad específica de Redis, querrá enlazar con la siguiente interfaz:

  • IRedisClient / Async:proporciona una API más amigable y descriptiva que le permite almacenar valores como cadenas (codificación UTF8).
  • API de cliente genérico de Redis:creadas con redis.As<T>() - devuelve un 'cliente fuertemente tipado' que proporciona una interfaz tipada para todas las operaciones de valor redis que funciona con cualquier tipo C#/.NET POCO.

Las interfaces funcionan de manera limpia con cualquier IOC y permiten que la lógica de su aplicación se vincule a interfaces sin implementación que se pueden burlar y sustituir fácilmente.

Una descripción general de la jerarquía de clases para los clientes de C# Redis es la siguiente:

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

Con cada cliente proporcionando diferentes capas de abstracción:

  • RedisNativeClient expone byte[] sin procesar apis y no ordena y pasa todos los valores directamente a redis.
  • RedisClient asume string valores y simplemente convierte cadenas a bytes UTF8 antes de enviar a Redis
  • RedisTypedClient proporciona una interfaz genérica que le permite agregar valores POCO. Los POCO se serializan mediante ServiceStack.Text, que luego se convierte a bytes UTF8 y se envía a Redis.

Resumen de API #