Redis
 sql >> база данни >  >> NoSQL >> Redis

C#/.NET клиент за Redis

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 #


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Наистина ли се предполага, че Redigo Redis Pool е глобална променлива?

  2. Node Js:задачата Redis не завършва след приключване на задачата си

  3. Redis е еднонишков, тогава как прави едновременен I/O?

  4. обработка на промени в пространството на имена по време на десериализация на JSON низ

  5. Ruby - Redis базиран мютекс с изпълнение на изтичане