sql >> Database teknologi >  >> NoSQL >> Redis

Udgiv abonner med nodejs og redis(node_redis)

Jeg ved ikke, hvad dit design er, men du kan abonnere med én redis-klient på flere kanaler (efter at du har abonneret på klienten, kan du kun abonnere på en anden kanal eller afmelde i denne forbindelse:http://redis.io/commands /subscribe), fordi efter du har modtaget besked, har du fuld information, hvilken kanal denne besked kommer fra. Så kan du distribuere denne besked til alle interesserede kunder.

Dette hjalp mig lidt, fordi jeg kunne sætte type besked i kanalnavn og derefter dynamisk vælge handling for hver besked fra lille funktion, i stedet for at generere separat abonnement for hver kanal med separat logik.

Inde i min node.js-server har jeg kun 2 redis-klienter:

  1. simpel klient til alle standardhandlinger - lpush , sadd og så videre
  2. abonner klient - som lytter efter beskeder over abonnenter, så distribueres disse beskeder til alle sessioner (gemt som sæt for hver kanaltype) ved hjælp af den første redis-klient.


  1. Redis Lua script, der implementerer CAS (check-and-set)?

  2. Redis Config Set med Node jS

  3. MongoDB 3 Java tjek om samling findes

  4. Sådan fjerner du alle elementer fra en MongoDB-samling