MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Kiedy używać Singleton vs Transient vs Request przy użyciu Ninject i MongoDB?

Ogólnie rzecz biorąc, w aplikacji internetowej chcesz, aby stan był jak największym zakresem żądania.

Tylko w przypadku optymalizacji bardzo niskiego poziomu istnieje prawdopodobieństwo, że natkniesz się na przypadek, w którym właściwe jest tworzenie pojedynczych obiektów (a nawet wtedy jest szansa, że ​​przeciągniesz taką logikę buforowania / udostępniania do innej klasy, która zostanie wciągnięta jako zależność od innych obiektów [zakres żądania] i to zakres singletona). Pamiętaj, że singleton w kontekście aplikacji internetowej oznacza wiele wątków korzystających z tych samych obiektów. Rzadko jest to dobra wiadomość.

Na tej samej podstawie zakres przejściowy jest najprostszym domyślnym zakresem (i właśnie dlatego Ninject 2 tak robi) - zakres żądań powinien brać udział w równaniu tylko wtedy, gdy coś musi zostać udostępnione ze względu na wydajność itp. (lub ponieważ jest to po prostu kontekst udostępniania [jak wspomniano w drugiej odpowiedzi]).



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak za pomocą MongoDB znaleźć wszystkie dokumenty, które mają pole, niezależnie od wartości tego pola?

  2. Instalacja MongoDB

  3. Unikalne ograniczenia MongoDb w zakresie dat

  4. rozwiązywanie wyniku java 137

  5. Sortuj dokumenty według wartości w ostatnim elemencie tablicy, który pasuje do filtra. Mongodb