MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Кога да използвате Singleton срещу Transient срещу Request с помощта на Ninject и MongoDB

По принцип в уеб приложение искате състоянието да бъде възможно най-голям обхват на заявката.

Само в случай на оптимизации на много ниско ниво има вероятност да попаднете на случай, в който е подходящо да създавате единични обекти (и шансовете дори тогава са, че ще изтеглите такава логика за кеширане/споделяне в друг клас, който се изтегля като зависимост от вашите други [request scope] обекти и направете това единичен обхват). Не забравяйте, че сингълтън в контекста на уеб приложение означава множество нишки, използващи едни и същи обекти. Това рядко е добра новина.

На същата основа преходният обхват е най-простият стандарт по подразбиране (и затова Ninject 2 го прави такъв) - обхватът на заявката трябва да влиза в уравнението само когато нещо трябва да бъде споделено от съображения за производителност и т.н. (или защото това е просто контекстът на споделянето [както е споменато в другия отговор]).



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongoose document.save не работи

  2. Неуспешно обяснение на MongoDb:неизвестен оператор от първо ниво:$query

  3. MongoDB $toDate

  4. Отдалечено свързване към MongoDB http интерфейс на EC2 сървър

  5. MongoDB конфигурация в CakePHP 3.x