sql >> Databasteknik >  >> NoSQL >> Redis

Redis och Node.js och Socket.io Frågor

Så varje "användare" bör ha sin egen redis-klient inom anslutningshändelsen. Har jag rätt?

Det är du faktiskt inte :)

Grejen är att node.js är väldigt olik till exempel PHP. node.js skapar inte underordnade processer på nya anslutningar, vilket är en av huvudorsakerna till att den enkelt kan hantera stora mängder samtidiga anslutningar, inklusive långlivade anslutningar (Comet, Websockets, etc.). node.js bearbetar händelser sekventiellt med hjälp av en händelsekö inom en enda process. Om du vill använda flera processer för att dra fördel av flerkärniga servrar eller flera servrar, måste du göra det manuellt (hur man gör det ligger dock utanför den här frågans omfattning).

Därför är det en helt giltig strategi att använda en enda Redis- (eller MySQL)-anslutning för att betjäna en stor mängd klienter. Detta undviker omkostnader för att instansiera och avsluta en databasanslutning för varje klientförfrågan.



  1. docker-compose:anslutning nekad mellan containrar, men tjänst tillgänglig från värd

  2. MongoDB Backup Management Tips för delade kluster

  3. 5 sätt att välja rader med minimivärdet för sin grupp i SQL

  4. heroku mongohq och mongoid Mongo::ConnectionFailure