sql >> Database teknologi >  >> NoSQL >> Redis

C#/.NET-klient til Redis

ServiceStacks C# Redis Client er en enkel, højtydende og funktionsrig C#-klient til Redis med indbygget support og abstraktioner på højt niveau til serialisering af POCO'er og komplekse typer.

Der er en række forskellige API'er tilgængelige med RedisClient implementering af følgende grænseflader:

  • Caching Provider - Hvis du udelukkende bruger Redis som en cache, bør du binde dig til ServiceStack's fælles grænseflade, da der allerede er In-Memory og Memcached implementeringer tilgængelige i ServiceStack, så du nemt kan skifte udbyder
  • IRedisNativeClient / Async - For dem, der ønsker en rå byte-adgang på lavt niveau (hvor du kan styre din egen serialisering/deserialisering), der kortlægger 1:1 med Redis-operationer af samme navn.

I de fleste tilfælde, hvis du har brug for adgang til Redis-specifik funktionalitet, vil du gerne binde dig til nedenstående grænseflade:

  • IRedisClient / Async - Giver en venligere, mere beskrivende API, der lader dig gemme værdier som strenge (UTF8-kodning).
  • Redis generiske klient-API'er - oprettet med redis.As<T>() - returnerer en "stærkt indtastet klient", der giver en maskinskrevet grænseflade til alle redis-værdi-operationer, der virker mod enhver C#/.NET POCO-type.

Grænsefladerne fungerer rent med enhver IOC og tillader din app-logik at binde sig til implementeringsfrie grænseflader, som nemt kan hånes og erstattes.

En oversigt over klassehierarki for C# Redis-klienterne ser sådan ud:

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

Med hver klient giver forskellige lag af abstraktion:

  • RedisNativeClient afslører rå byte[] apis og foretager ingen rangering og sender alle værdier direkte til redis.
  • RedisClienten antager string værdier og konverterer simpelthen strenge til UTF8-bytes, før de sendes til Redis
  • RedisTypedClient har en generisk grænseflade, der giver dig mulighed for at tilføje POCO-værdier. POCO'er serialiseres ved hjælp af ServiceStack.Text, som derefter konverteres til UTF8-bytes og sendes til Redis.

API-oversigt #


  1. C# mongo-forespørgsler med json-strenge

  2. En oversigt over WiredTiger Storage Engine til MongoDB

  3. Hvordan kan jeg få alle sættene i redis?

  4. Forøgelse af hundredvis af tællere på én gang, redis eller mongodb?