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 #