Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

Bagaimana seharusnya saya menggunakan Booksleeve dengan protobuf-net?

Itu sepenuhnya benar. "Dapatkan" (BookSleeve) mengembalikan byte[] yang ditangguhkan . Anda telah menggunakan Wait dengan benar untuk mendapatkan byte[] yang sebenarnya , lalu gunakan MemoryStream di atas byte[] ini untuk memanggil Deserialize melalui protobuf-net.

Semuanya baik.

Jika Anda memperjelas langkah apa pun yang menurut Anda jelek, saya mungkin bisa lebih spesifik, tetapi:

  • BookSleeve sepenuhnya asinkron melalui Task , oleh karena itu diperlukan Wait atau ContinueWith untuk mengakses byte[]
  • protobuf-net sepenuhnya berbasis Stream, oleh karena itu diperlukan MemoryStream untuk duduk di atas byte[]

Tentu saja, jika Anda menambahkan metode utilitas umum (mungkin metode ekstensi), Anda hanya perlu menulisnya sekali.

Dan dengan tambahan if kelas pembungkus (untuk beberapa pelacakan/sliding-expiry) dan cache L1 (Redis sebagai L2), ini persis seperti yang kami gunakan di stackoverflow.

Satu catatan:koneksi aman dan dimaksudkan untuk dibagikan secara massal; jangan lakukan koneksi per operasi.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. shutdown redis-server dari baris perintah

  2. Redis pub sub max pelanggan dan penerbit

  3. Gagal memulai redis.service:Unit redis-server.service disamarkan

  4. Menyimpan properti objek di redis

  5. Waktu Penyelamatan::Kesalahan dari Redis Gem (Ruby)