sql >> Database >  >> NoSQL >> Redis

C#/.NET Client voor Redis

De C# Redis-client van ServiceStack is een eenvoudige, krachtige en veelzijdige C#-client voor Redis met native ondersteuning en abstracties op hoog niveau voor het serialiseren van POCO's en complexe typen.

Er zijn een aantal verschillende API's beschikbaar met de RedisClient implementatie van de volgende interfaces:

  • Caching Provider - Als u Redis alleen als cache gebruikt, moet u zich binden aan de gemeenschappelijke interface van de ServiceStack, aangezien er al in-Memory en Memcached-implementaties beschikbaar zijn in ServiceStack, zodat u gemakkelijk van provider kunt wisselen
  • IRedisNativeClient / Async - Voor degenen die onbewerkte bytetoegang op laag niveau willen (waar je je eigen serialisatie/deserialisatie kunt regelen) die 1:1 toewijzen aan Redis-bewerkingen met dezelfde naam.

In de meeste gevallen, als u toegang nodig heeft tot Redis-specifieke functionaliteit, zou u zich willen binden aan de onderstaande interface:

  • IRedisClient / Async - Biedt een vriendelijkere, meer beschrijvende API waarmee u waarden als tekenreeksen kunt opslaan (UTF8-codering).
  • Redis generieke client-API's - gemaakt met redis.As<T>() - retourneert een 'sterk getypeerde client' die een getypte interface biedt voor alle redis-waardebewerkingen die werkt tegen elk C#/.NET POCO-type.

De interfaces werken netjes met elk IOC en zorgen ervoor dat uw app-logica zich kan binden aan implementatievrije interfaces die gemakkelijk kunnen worden bespot en vervangen.

Een overzicht van de klassenhiërarchie voor de C# Redis-clients ziet er als volgt uit:

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

Elke klant biedt verschillende abstractielagen:

  • De RedisNativeClient onthult onbewerkte byte[] apis en doet geen marshalling en geeft alle waarden direct door aan redis.
  • De RedisClient gaat uit van string waarden en converteert eenvoudig strings naar UTF8-bytes voordat ze naar Redis worden verzonden
  • De RedisTypedClient biedt een generieke interface waarmee u POCO-waarden kunt toevoegen. POCO's worden geserialiseerd met behulp van ServiceStack.Text, die vervolgens wordt geconverteerd naar UTF8-bytes en naar Redis wordt verzonden.

API-overzicht #


  1. Probleem bij het retourneren van gegevens die zijn opgehaald uit DB-query's die in de lus worden aangeroepen

  2. MongoDB-waarschuwing voor afschaffing van mangoest

  3. hoe Mongo-gegevens importeren naar de ingezette meteor-app?

  4. Kan mongodb worden gebruikt als een ingesloten database?