Redis como MQ fila de mensagens

Transferir a partir deste autor: https://download.csdn.net/download/LongtengGensSupreme/12157626 pacote de download Redis expandiu-se em um diretório de arquivos local: E: \ Source \ redisfile \ Redis-x64-3.2.100, como mostrado abaixo

 

 

 

 

Para facilitar o lançamento, criamos um novo arquivo startredis.bat no diretório,

Em seguida, escreve os seguintes arquivos: redis.windows.conf redis-servidor

Este comando é na verdade chamando comando redis-server.exe para ler o conteúdo de redis.window.conf,

Clique duas vezes no arquivo que você acabou de criar boa startredis.bat, você será capaz de ver o sucesso de Redis início, como mostrado abaixo:

 

 

Redis-servidor colocado sobre ele após o início. Você pode usar ferramentas de cliente de teste vem Redis servidor está disponível,

Redis vem com uma ferramenta cliente que pode ser usado para se conectar ao nosso servidor Redis atual, clique em arquivo redis-cli.exe na mesma pasta, inicie o cliente, como mostrado abaixo

 

 

Redis-cli cliente for iniciado com êxito, como mostrado na FIG.

 

Fazemos o seguinte teste: dos input interface do cliente value1 conjunto key1, retorno de carro, você pode ver a exibição do cliente:

 

 

Enter obter key1 Digite o cliente será exibido:

  

 

Através deste trabalho, temos instalado no ambiente Windows Bem Redis, a nossa preparação está completa, adicione o seguinte simples uso Redis Redis usado como um caso de MQ fila de mensagens,

Para compra de bens para o caso, o próximo single - "aumentar os pontos da seguinte forma:

2, um novo item na RedisMessageQueue projeto console, Nuget usar o gerenciador de pacotes para adicionar ServiceStack.Redis ,

o usando o Sistema;
 o usando ServiceStack.Redis; 

namespace RedisMessageQueue 
{ 
    classe Programa 
    { 
        estática  vazio do Main ( string [] args) 
        { 
            Console.WriteLine ( " Message Queuing demo " ); 
            RedisClient redisClient = new new RedisClient ( " localhost: 6379 " );
             Cordas SS = " este é redisMQ " ; 
            Console.WriteLine ($ " fila de mensagens de digitação: SS {} " );
            // produtores, LPush deixou inserção de dados, RPush direito inserção de dados 
            redisClient.LPush ( " MQ " , System.Text.Encoding.UTF8.GetBytes (SS)); 

            System.Diagnostics.Process.Start ( @ " F: \ a Pessoa \ Linjie \ Logteng \ ConsoleApp1 \ bin \ a depuração \ netcoreapp3.1 \ redisClientJiFen.exe " ); 
            System.Threading.Thread.Sleep (TimeSpan.FromSeconds ( 1. ));
             int I = 0 ;
             Cadeia Sn = nulo ;
             o tempo ( para a verdadeira ) 
            { 
                Sn = $ "{DateTime.Now.ToString WG ( " yyyMMddHHmmssfffffff " )} " ; 
                Console.WriteLine ($ " Geração {i ++} ordens, número de ordem: {Sn} " ); 
                Console.WriteLine ( " ....... O processamento dos pedidos .... ............ " ); 
                Console.WriteLine ($ " Order processados {sn} " ); 
                System.Threading.Thread.Sleep (TimeSpan.FromSeconds ( . 3 ) ); 
                redisClient.LPush ( " MQ " , System.Text.Encoding.UTF8.GetBytes (SS + I ++ )); 
            } 

            //Os consumidores, RPOP dados extraídos direita, esquerda LPop obtém dados
             // byte [] bytes 1 = redisClient.RPop ( "MQ");
             // String = System.Text.Encoding.UTF8.GetString MR1 (bytes 1);
             // consola. WriteLine ($ "fila de mensagens adquire conteúdo: MR1 {}"); 


            // LPUSH ----- "RPOP
             // RPUSH -----" LPop
             // consumidor LPop BRPop BLPOP RPOP
             // modelo push BRPop BLPop, passiva para aceitar dados
             // modelo de recepção RPOP LPop, a iniciativa de obter dados sobre o rendimento
             // resumo, 1-1 comunicação 

            // byte [] [] = bytes redisClient.BRPop ( "MQ", 60);
             // byte [ ] bytes = redisClient.BRPopValue ( "MQ", 60);
             //System.Text.Encoding.UTF8.GetString de Mr = String (bytes);
             // Console.WriteLine ($ "fila de mensagens adquire conteúdo: do Sr. {}"); 


            // o tempo (de verdade)
             // {
             //     byte [] bytes redisClient.RPop = ( "MQ");
             //     IF (= null bytes!)
             //     {
             //         string of Mr = System.Text.Encoding.UTF8.GetString (bytes);
             //         Console.WriteLine ($ "{do Sr. } ");
             //     }
             //     o resto
             //     {
             //         Console.WriteLine ($" fila de mensagens não houver dados ");
             //    }
             //     System.Threading.Thread.Sleep (TimeSpan.FromSeconds (1));
            // } 
            Console.ReadKey (); 
        } 
    } 
}

3, adicione um projeto de console processo de integração redisClientJiFen

usando ServiceStack.Redis;
usando System; 

namespace redisClientJiFen 
{ 
    classe Programa 
    { 
        estática  vazio Main ( corda [] args) 
        { 
            Console.WriteLine ( " Olá mundo! " ); 
            RedisClient redisClient = new RedisClient ( " localhost: 6379 " ); 
            Console.WriteLine ($ " RedisClient连接成功" );
            enquanto ( verdadeiro ) 
            { 
                byte[] Bytes = redisClient.RPop ( " MQ " );
                 IF (bytes =! Null ) 
                { 
                    Cadeia de Mr = System.Text.Encoding.UTF8.GetString (bytes); 
                    Console.WriteLine ($ " {} processo de integração mr Order é concluído " ); 
                } 
                else 
                { 
                    Console.WriteLine ($ " fila de mensagens não houver dados " ); 
                } 
                System.Threading.Thread.Sleep (TimeSpan.FromSeconds ( 1. )); 
            } 
        } 
    } 
}

 

4, os resultados operacionais

 

Acho que você gosta

Origin www.cnblogs.com/1175429393wljblog/p/12517452.html
Recomendado
Clasificación