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

Въпроси за Redis и Node.js и Socket.io

И така, всеки „потребител“ трябва да има свой собствен клиент на redis в рамките на събитието за свързване. Прав ли съм?

Всъщност не сте :)

Работата е там, че node.js е много различен от PHP например. node.js не създава дъщерни процеси в нови връзки, което е една от основните причини да може лесно да обработва големи количества едновременни връзки, включително дълготрайни връзки (Comet, Websockets и др.). node.js обработва събитията последователно, използвайки опашка за събития в рамките на един единствен процес. Ако искате да използвате няколко процеса, за да се възползвате от многоядрени сървъри или няколко сървъра, ще трябва да го направите ръчно (но как да го направите е извън обхвата на този въпрос).

Следователно е напълно валидна стратегия да се използва една единствена Redis (или MySQL) връзка за обслужване на голямо количество клиенти. Това избягва излишните разходи за създаване и прекратяване на връзка с база данни за всяка клиентска заявка.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да мащабирате SignalR с помощта на Azure Worker Role и OWIN

  2. Flask:предаване на фонов работник (rq, redis)

  3. phpredis на Fedora 12

  4. Какви са основните структури от данни, използвани за Redis?

  5. Оптимизация на производителността на Nodejs