MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Konkurensi di gopkg.in/mgo.v2 (Mongo, Go)

mgo.Session aman untuk digunakan bersamaan. Mengutip dari dokumennya:

Semua metode Sesi aman untuk konkurensi dan dapat dipanggil dari beberapa goroutine.

Tetapi ini tidak berarti Anda tidak boleh membuat dan menggunakan lebih banyak dari mereka secara paralel, dengan memanggil Session.Copy() atau Session.Clone() , pada sesi awal yang diperoleh pada waktu panggilan.

Menjadi konkurensi-aman dan mendapat manfaat dari menggunakan lebih banyak dari mereka tidak mengecualikan satu sama lain (mereka tidak saling eksklusif ). Meskipun Anda dapat menggunakan satu mgo.Session dari jumlah goroutine yang berubah-ubah, yang tidak akan diskalakan dengan baik, yang tidak akan diskalakan sama sekali . Sesi secara otomatis mengelola kumpulan koneksi, bahkan mungkin ke beberapa node server, tetapi jika Anda menggunakan satu Session , Anda tidak mengambil keuntungan dari itu. Dengan membuat Session baru di awal setiap permintaan Anda (jika diperlukan), dan menutupnya dengan benar di akhir (dengan Session.Close(); sebaiknya dipanggil menggunakan defer ), Anda memanfaatkan kemungkinan menggunakan beberapa koneksi pada saat yang sama, mungkin ke beberapa node server (jika tersedia), dan dengan demikian memanfaatkan sumber daya server dengan lebih baik; dan mendapatkan waktu respons yang lebih cepat (baik dari database, dan akhirnya ke pengguna akhir HTTP Anda). Memanggil Session.Close() tidak menutup koneksi yang mendasarinya ke server, itu hanya akan mengembalikan koneksi ke kumpulan, siap untuk diambil oleh sesi lain.

Lihat juga pertanyaan terkait tentang penggunaan Session s:mgo - kinerja kueri tampaknya selalu lambat (500-650 md)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongo:pengembalian tidak sama dengan hitungan ()

  2. Cara menggunakan mongoimport untuk mengimpor csv

  3. Memulai dengan Python dan MongoDB

  4. Tip Manajemen Pencadangan MongoDB untuk Cluster Sharded

  5. Apa cara terbaik untuk menangani koneksi global Mongodb di NodeJs