メッセージキューとしてRedisのMQ

:この作者からダウンロードhttps://download.csdn.net/download/LongtengGensSupreme/12157626ダウンロードパッケージは、ローカル・ファイル・ディレクトリに展開のRedis:E:\ソース\ redisfile \のRedis-x64-3.2.100、 下に示すように、

 

 

 

 

立ち上げを容易にするために、我々は、ディレクトリ内に新しいstartredis.batファイルを作成し、

次に、以下のファイルを書き込みます:Redisのサーバーredis.windows.conf

このコマンドは、redis.window.confの内容を読み取るためのRedis-SERVER.EXEコマンドを呼び出すことであり、

以下のようにあなたは、Redisの開始の成功を見ることができます、あなたはちょうど良いstartredis.batを作成したファイルをダブルクリックします。

 

 

Redisのサーバーが開始した後、その上に置きます。Redisのサーバーが使用可能である来るあなたは、テストクライアントにツールを使用することができます

Redisのは、私たちの現在のRedisのサーバーに接続し、同じフォルダ内のRedis-cli.exeファイルをクリックし、以下に示すように、クライアントを起動するために使用することができ、クライアントツールが付属しています

 

 

Redisの-cliの図に示すように、クライアントは、正常に起動します。

 

ドスクライアントインターフェイス入力セットキー1値1、キャリッジリターン、あなたはクライアントの表示を見ることができます:私たちは、次のテストを実行します。

 

 

GETキー1を入力し、クライアントのディスプレイを入力します。

  

 

この作品を通して、私たちはWindowsの環境まあのRedisにインストールされている、私たちの準備が完了し、RedisのRedisのは、MQメッセージキューのケースとして使用し、次の簡単な使用を追加し、

ケースのための商品を購入するには、次のシングルは - 次のように「のポイントを増やします:

2、Nugetを追加するために、パッケージマネージャを使用してコンソールプロジェクトRedisMessageQueueで新しいアイテム、ServiceStack.Redisを

使用してシステムを。
使用してServiceStack.Redisを。

名前空間RedisMessageQueue
{
    クラスプログラム
    {
        静的な 無効メイン(文字列[] argsを)
        {
            Console.WriteLineを(" メッセージキューデモ" );
            RedisClient redisClient =  RedisClient(" localhostを:6379 " );
            文字列 SS = " 这是redisMQ " 
            Console.WriteLineを($ " メッセージキュータイピング:SS {} " );
             // メーカー、LPushは右のデータINSERT RPush、挿入データを左 
            redisClient.LPush(" MQ " System.Text.Encoding.UTF8.GetBytes(SS、 ));

            System.Diagnostics.Process.Start(@ " F:\人\ linjie \ Logteng \ ConsoleApp1 \ binに\デバッグ\ netcoreapp3.1 \ redisClientJiFen.exe " );
            System.Threading.Thread.Sleep(TimeSpan.FromSeconds(1 ))。
            int型私は= 0を文字列 SN = nullをしばらく
            {
                SN = $ " WG {DateTime.Now.ToString(" yyyMMddHHmmssfffffff " )} " 
                Console.WriteLineを($ " 世代{I ++}注文、注文番号:{錫} " );
                Console.WriteLineを(" ........... ............プロセス指図" )。
                Console.WriteLineを($ " ご注文は{SN}に処理" );
                System.Threading.Thread.Sleep(TimeSpan.FromSeconds(3 ))。
                redisClient.LPush(" MQ "、System.Text.Encoding.UTF8.GetBytes(SS + I ++ ));
            }

            // 消費者は、RPOPが右のデータを抽出し、LPOPフェッチデータを左
             // バイト[]バイト1 = redisClient.RPop( "MQ");
             // 文字列= System.Text.Encoding.UTF8.GetString MR1(1バイト);
             // Console.WriteLineを($ "メッセージキューは、コンテンツ取得:{MR1を}")。


            // LPUSH ----- "RPOP
             // RPUSH -----" LPOP
             // 消費者LPOP BRPop BLPOP RPOP
             // プッシュモデルBRPop BLPop、データ受け入れるためにパッシブ
             // プルモデルRPOP LPOPは、行くためのイニシアチブをとります所得データ取得
             //を一つの通信に、1を総括

            // バイト[] []バイト= redisClient.BRPop( "MQ"、60);
             // バイト[]バイト= redisClient.BRPopValue( "MQ"、60);
             // MRの文字列System.Text.Encoding.UTF8 = (バイト).getString;
             // Console.WriteLineを($ "メッセージキューは、コンテンツ取得:{MRを}")。


            // 一方(真)
             // {
             //     バイト[]バイト= redisClient.RPop( "MQ")。
            //     もし(!バイト= NULL)
             //     {
             //         文字列MR = System.Text.Encoding.UTF8.GetString(バイト)。
            //         Console.WriteLineを($ "{} MR")。
            //     }
             //     他に
             //     {
             //         Console.WriteLineを($ "消息队列没有数据");
            //     }
             //     System.Threading.Thread.Sleep(TimeSpan.FromSeconds(1))。
            //} 
            Console.ReadKey()。
        }
    }
}

3、統合プロセスのコンソールプロジェクトredisClientJiFenを追加

使用してServiceStack.Redisを。
使用してシステムを。

名前空間redisClientJiFen
{
    クラスプログラム
    {
        静的な 無効メイン(文字列[] argsを)
        {
            Console.WriteLineを(" Hello Worldの!" );
            RedisClient redisClient =  RedisClient(" localhostを:6379 " );
            Console.WriteLineを($ " RedisClient成功した接続" );
             ながら、真の
            {
                バイト []バイト= redisClient.RPop(" MQ " )。
                もし(バイト!= nullの
                {
                    文字列 MR = System.Text.Encoding.UTF8.GetString(バイト)。
                    Console.WriteLineを($ " 注文{} MR完全な統合処理" );
                }
                そうしないと
                {
                    Console.WriteLineを($ メッセージキューは、データがありません);
                }
                System.Threading.Thread.Sleep(TimeSpan.FromSeconds(1 ))。
            }
        }
    }
}

 

図4に示すように、動作結果

 

おすすめ

転載: www.cnblogs.com/1175429393wljblog/p/12517452.html