C# Redis Client ServiceStack adalah C# Client for Redis yang sederhana, berkinerja tinggi, dan kaya fitur dengan dukungan asli dan abstraksi tingkat tinggi untuk membuat serial POCO dan Tipe Kompleks.
Ada sejumlah API berbeda yang tersedia dengan RedisClient
mengimplementasikan antarmuka berikut:
- Penyedia Caching - Jika Anda menggunakan Redis semata-mata sebagai cache, Anda harus mengikat ke antarmuka umum ServiceStack karena sudah ada In-Memory dan implementasi Memcached yang tersedia di ServiceStack, yang memungkinkan Anda untuk beralih penyedia dengan mudah
- IRedisNativeClient / Async - Bagi mereka yang menginginkan akses byte mentah tingkat rendah (di mana Anda dapat mengontrol serialisasi/deserialisasi Anda sendiri) yang memetakan 1:1 dengan operasi Redis dengan nama yang sama.
Untuk sebagian besar kasus, jika Anda memerlukan akses ke fungsionalitas khusus Redis, Anda ingin mengikat antarmuka di bawah ini:
- IRedisClient / Async - Menyediakan API yang lebih ramah dan deskriptif yang memungkinkan Anda menyimpan nilai sebagai string (enkode UTF8).
- Redis API klien generik - dibuat dengan
redis.As<T>()
- mengembalikan 'klien yang sangat diketik' yang menyediakan antarmuka yang diketik untuk semua operasi nilai redis yang bekerja terhadap semua jenis POCO C#/.NET.
Antarmuka berfungsi dengan baik dengan IOC apa pun dan memungkinkan logika aplikasi Anda untuk mengikat ke antarmuka bebas implementasi yang dapat dengan mudah diejek dan diganti.
Ikhtisar hierarki kelas untuk klien C# Redis terlihat seperti:
RedisTypedClient (POCO) > RedisClient (string) > RedisNativeClient (raw byte[])
Dengan setiap klien menyediakan lapisan abstraksi yang berbeda:
- The RedisNativeClient mengekspos
byte[]
mentah apis dan tidak menyusun dan meneruskan semua nilai langsung ke redis. - The RedisClient mengasumsikan
string
nilai dan cukup ubah string menjadi byte UTF8 sebelum mengirim ke Redis - RedisTypedClient menyediakan antarmuka umum yang memungkinkan Anda menambahkan nilai POCO. POCO diserialisasi menggunakan ServiceStack.Text yang kemudian dikonversi ke byte UTF8 dan dikirim ke Redis.
Ikhtisar API #