C# Redis Client на ServiceStack е прост, високопроизводителен и богат на функции C# клиент за Redis с естествена поддръжка и абстракции на високо ниво за сериализиране на POCO и сложни типове.
Има редица различни API, налични с RedisClient
внедряване на следните интерфейси:
- Кеширащ доставчик – Ако използвате Redis единствено като кеш, трябва да се свържете с общия интерфейс на ServiceStack, тъй като вече има налични в ServiceStack реализации In-Memory и Memcached, което ви позволява лесно да превключвате доставчици
- IRedisNativeClient / Async – За тези, които искат необработен байт достъп на ниско ниво (където можете да контролирате собствената си сериализация/десериализация), които съпоставят 1:1 с операции на Redis със същото име.
В повечето случаи, ако имате нужда от специфична функционалност на Redis, бихте искали да се свържете с интерфейса по-долу:
- IRedisClient / Async – Предоставя по-удобен, по-описателен API, който ви позволява да съхранявате стойности като низове (UTF8 кодиране).
- Общи клиентски API на Redis – създадени с
redis.As<T>()
- връща „строго въведен клиент“, който предоставя въведен интерфейс за всички операции със стойност на redis, който работи срещу всеки тип C#/.NET POCO.
Интерфейсите работят чисто с всеки IOC и позволяват на логиката на приложението ви да се свързва с интерфейси без внедряване, които лесно могат да бъдат подигравани и заместени.
Общ преглед на йерархията на класовете за клиентите на C# Redis изглежда така:
RedisTypedClient (POCO) > RedisClient (string) > RedisNativeClient (raw byte[])
Като всеки клиент предоставя различни слоеве на абстракция:
- RedisNativeClient разкрива необработен
byte[]
apis и не извършва маршалиране и предава всички стойности директно на redis. - RedisClient приема
string
стойности и просто преобразува низовете в UTF8 байтове, преди да ги изпрати до Redis - RedisTypedClient предоставя общ интерфейс, който ви позволява да добавяте POCO стойности. POCO се сериализират с помощта на ServiceStack.Text, който след това се преобразува в UTF8 байтове и се изпраща до Redis.
Общ преглед на API #