Redis
 sql >> डेटाबेस >  >> NoSQL >> Redis

Socket.io में रेडिस कनेक्शन का पुन:उपयोग कैसे करें?

असल में आप प्रत्येक कनेक्शन के लिए केवल एक नया रेडिस क्लाइंट बना रहे हैं यदि आप क्लाइंट को "कनेक्शन" ईवेंट पर तुरंत चालू कर रहे हैं। चैट सिस्टम बनाते समय मैं जो करना पसंद करता हूं वह है तीन रेडिस क्लाइंट बनाना। एक प्रकाशन, सदस्यता लेने के लिए, और दूसरा मूल्यों को रेडिस में संग्रहीत करने के लिए।

उदाहरण के लिए:

var socketio = require("socket.io")
var redis = require("redis")

// redis clients
var store = redis.createClient()
var pub = redis.createClient()
var sub = redis.createClient()

// ... application paths go here

var socket = socketio.listen(app)

sub.subscribe("chat")

socket.on("connection", function(client){
  client.send("welcome!")

  client.on("message", function(text){
    store.incr("messageNextId", function(e, id){
      store.hmset("messages:" + id, { uid: client.sessionId, text: text }, function(e, r){
        pub.publish("chat", "messages:" + id)
      })
    })
  })

  client.on("disconnect", function(){
    client.broadcast(client.sessionId + " disconnected")
  })

  sub.on("message", function(pattern, key){
    store.hgetall(key, function(e, obj){
      client.send(obj.uid + ": " + obj.text)
    })
  })

})


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. वसंत में JdkSerializationRedisSerializer के बजाय जैक्सन का उपयोग कैसे करें

  2. रेडिस आईएनसीआर संगामिति

  3. सभी रेडिस डेटाबेस को कैसे सूचीबद्ध करें?

  4. एचजीईटी ब्लॉक नोडज रेडिस के अंदर एचडीएल

  5. एक्टिव जॉब / बैकग्राउंड जॉब में फाइल पास करें