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

Apakah ini penggunaan ServiceStack Redis yang valid?

Sebenarnya ketika Anda menggunakan PersonClient.Lists["urn:names:current"] Anda sebenarnya menyimpan referensi ke Koneksi RedisClient yang tidak aman untuk thread. Tidak apa-apa jika itu di aplikasi GUI atau Konsol, tetapi tidak ideal di aplikasi web multi-utas. Dalam sebagian besar skenario, Anda ingin menggunakan pabrik koneksi aman utas yaitu

var redisManager = new PooledRedisClientManager("localhost:6379");

Yang bertindak sangat mirip dengan kumpulan koneksi database. Jadi kapan pun Anda ingin mengakses RedisClient berfungsi seperti:

using (var redis = redisManager.GetClient())
{
    var allItems = redis.As<Person>().Lists["urn:names:current"].GetAll();
}

Catatan:.As<T> adalah alias yang lebih pendek untuk .GetTypedClient<T> Jalan pintas lain yang nyaman untuk mengeksekusi klien yang diketik dari redisManager adalah:

var allItems = redisManager.ExecAs<Person>(r => r.Lists["urn:names:current"].GetAll());

Saya biasanya lebih suka menyebarkan IRedisClientsManager dalam kode saya sehingga tidak memiliki koneksi RedisClient tetapi dapat mengaksesnya kapan pun diperlukan.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cara menggunakan jackson alih-alih JdkSerializationRedisSerializer di musim semi

  2. Apa yang harus saya gunakan? Kamar Socket.io atau Redis pub-sub?

  3. Waktu fungsi Google Cloud habis saat menghubungkan ke Redis di IP internal Compute Engine

  4. Redis:Tampilkan ukuran/ukuran basis data untuk kunci

  5. Pekerja antrian redis mogok di utcparse