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

Изключение за таймаут на сокета в Mongo

Случаят ли се тези прекъсвания след периоди на неактивност? Вероятно вашият пул от връзки е остарял, след като е бил неактивен твърде дълго.

Ако е така, има два начина за това:

  1. Уловете изключенията за изтичане на времето за изчакване на сокета и вашата незабавна заявка трябва да има достъп до нов набор от връзки. (това е, ако опцията за автоматично повторно свързване във вашия обект за връзка е оставена на true, което е по подразбиране.)

  2. Използвайте персонализирано поддържане, за да проверявате сървъра на mongod периодично, като използвате същия пул за връзки, така че пулът да остава нов.

Вариант 1 е лесен за изпълнение, но времето за изчакване на сокета по подразбиране е около 30 секунди, което е доста прекалено. Можете да промените тази настройка според нуждите.

Вариант 2 е малко хак, включващ нишки.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да осредним сумираните стойности в mongodb?

  2. Съхранение и извличане на JavaScript обекти в/от MongoDB

  3. Намирането на родния драйвер от модела Mongoose не връща курсора

  4. GroupBy множество колони в MongoDB

  5. Вмъкнете вграден документ в ново поле в mongodb документ