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

Sentinel C#からRedisマスターアドレスを取得する

    難しい方法でやらなければならなかったので、次のコードスニペットを使用してredis-cliコマンドを模倣します:(残りは応答の結果を解析することだけです)

       public string GetMasterFromSentinel(string sentinelAddress)
        {
            TcpClient server;
    
            try
            {
                var splittedAddress = sentinelAddress.Split(':');
                server = new TcpClient(splittedAddress[0], splittedAddress[1].ParseInt());
            }
            catch (SocketException)
            {
                _log.Error("Unable to connect to server");
                return string.Empty;
            }
            NetworkStream ns = server.GetStream();
            var payload = new byte[] { 0x2a, 0x32, 0x0d, 0x0a, 0x24, 0x38, 0x0d, 0x0a, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6c, 
                    0x0d, 0x0a, 0x24, 0x37, 0x0d, 0x0a, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x73, 0x0d, 0x0a };
            ns.Write(payload, 0, payload.Length);
            ns.Flush();
            var data = new byte[1024];
            ns.Read(data, 0, data.Length);
            var recv = ns.Read(data, 0, data.Length);
    
            ns.Close();
            server.Close();
            return ParseResponse(data);
        }
    


    1. マングースの保存と挿入と作成

    2. MongoDBサンプルオペレーター

    3. MongoDB updateMany()

    4. mongodbの配列のn番目の要素を削除する方法