sql >> データベース >  >> NoSQL >> Redis

socket.ioでredis接続を再利用する方法は?

    実際には、「接続」イベントでクライアントをインスタンス化する場合にのみ、接続ごとに新しいredisクライアントを作成します。チャットシステムを作成するときに私が好むのは、3つのredisクライアントを作成することです。 1つは公開、サブスクライブ用、もう1つは値をredisに保存するためのものです。

    例:

    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. MongoDB C#ドライバーを使用してMongoDBコレクションが作成された日付を取得するにはどうすればよいですか?

    2. 時間範囲のあるMongodb交差点

    3. redis.confのtcp-backlogとは

    4. mongodbからpandasにデータをインポートする方法は?