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

Kesalahan tornado:[Errno 24] Terlalu banyak kesalahan membuka file

Sangat sederhana, objek RequestHandler dipakai untuk setiap permintaan. Artinya, objek cache yang Anda simpan ada di objek RequestHandler (mis. expand).

Jika Anda menambahkan "print 'CREATED!'" sederhana ke fungsi dbmongo(...) Anda akan melihat bahwa itu dibuat pada setiap permintaan GET.

Yang perlu Anda lakukan adalah melampirkan handler ke objek kelas, atau "global" sesuai kebutuhan, meskipun kasus terbaik adalah meletakkannya di objek Aplikasi Tornado.

Sederhana:

class setup(tornado.web.RequestHandler):
    @classmethod
    def dbmongo(cls):
        if not hasattr(cls, '_dbmongo'):
            cls._dbmongo = apymongo.Connection("127.0.0.1", 27017)
        return cls._dbmongo

Pendekatan kedua adalah menjadikannya global di file Anda:

dbmongo_connection = None
def dbmongo():
    if not dbmongo_connection:
        dbmongo_connection = apymongo.Connection("127.0.0.1", 27017)
    return dbmongo_connection

Keduanya memiliki masalah yang sama yaitu jika Anda memiliki banyak kelas yang ingin menggunakan koneksi DB, akan lebih sulit untuk membagikannya. Karena DB adalah entitas bersama, Anda mungkin menginginkannya untuk seluruh aplikasi Anda.

class MongoMixin(object):
    def mongodb(self):
        if not hasattr(self.application, 'mongodb'):
            self.application.mongodb = apymongo.Connection(self.application.settings.get("mongohost", "127.0.0.1"), 27017)
        return self.application.mongodb

class expand(tornado.web.RequestHandler, MongoMixin):
    def get(self):
       db = self.mongodb()



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $sin

  2. Cara cepat untuk menemukan duplikat pada kolom yang diindeks di mongodb

  3. Apa pilihan database yang baik untuk aplikasi .NET kecil?

  4. Cara menggunakan Spring untuk terhubung ke MongoDB yang memerlukan otentikasi

  5. Bagaimana Anda mengonfigurasi Embedded MongDB untuk pengujian integrasi dalam aplikasi Spring Boot?