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

Haruskah saya membagikan koneksi Redis antar file/modul?

Ketika saya menghadapi pertanyaan seperti ini, saya biasanya memikirkan tiga pertanyaan dasar.

  1. Mana yang lebih mudah dibaca?
  2. Mana yang memungkinkan penggunaan kembali kode yang lebih baik?
  3. Mana yang lebih efisien?

Tidak harus dalam urutan ini karena tergantung pada skenario, tetapi saya percaya dalam kasus ini ketiga pertanyaan ini mendukung opsi B. Jika Anda perlu mengubah opsi untuk createClient, Anda perlu mengeditnya di setiap file yang menggunakannya. Yang mana pada opsi A adalah setiap file yang menggunakan redis, dan opsi B hanyalah redis.js. Juga jika produk yang lebih baru atau berbeda keluar dan Anda ingin mengganti redis. Adalah mungkin untuk membuat redis.js sebagai pembungkus untuk paket yang berbeda atau bahkan klien redis yang lebih baru secara substansial mengurangi waktu konversi.

Global umumnya adalah hal yang buruk, tetapi dalam contoh ini redis.js tidak boleh menyimpan status yang dapat diubah, jadi tidak ada masalah memiliki global/tunggal dalam konteks ini.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kunci CROSSSLOT Aliran Udara yang diminta tidak melakukan hash ke kesalahan slot yang sama menggunakan AWS ElastiCache

  2. Laravel - Caching Fasih dengan Pembaruan yang Sering

  3. Pencadangan AOF dan RDB dalam redis

  4. Bagaimana cara magento memunculkan nama kunci cache?

  5. spring-data-redis redisTemplate Exception