通过前面的学习,RabbitMQ 已经拙见有必定认识和了解,今天主要针对咱们在前面学习方法进行一次小总结,本篇文章也想在开头写的,可是后来考虑,若是我都把方法都一一列举,我想你们都没很不懂,不少疑问。问这方法有什么用,怎么在实例中用,等一些问题出如今脑海里,学习起来很吃力,看不懂,不理解,通过每一个情景进入抒写每一个对应代码demo,而后把全部方法进行一次总结,也算一次温故而知新。服务器
参数:队列名称,是否持久,是否独家,自动删除,参数 QueueDeclare(string queue,durable true,exclusive false,autoDelete false, IDictionary<string, object> arguments);
queue:队列名称(声明);
durable:bool类型,true:在服务器重启时,可以存活;
excludsive:是否为当前链接的专用队列,在链接断后,会自动删除该队列,生产环境中应该不多用到(是否独家);
autoDelete:当没有任何消费者使用时,自动删除该队列;
arguments:参数信息,参数设置。
参数:交换名称,类型,是否持久,自动删除,参数
ExchangeDeclare(string exchange,string type,bool durable,bool autoDelete,IDictionary<string, object> arguments)
exchange:交换名称(声明);
type:类型有三种:direct,fanout,topic,三种主要类型(前面demo中咱们都有专题讲解,详细案例);
durable:bool类型,true:服务器重启会保留下来Exchange。警告:仅设置此选项,不表明消息持久化。即不保证重启后消息还在;
autoDelete:Bool类型,true:当已经没有消费者时,服务器是否能够删除该Exch;
arguments:参数设置。
参数:队列名称,交换机名称,绑定键
QueueBind(string queue,string exchange,string routingKey);
queue:声明队列的名称;
exchange:声明交换机的名称;
routingKey:用于经过绑定bindingkey将queue到exchange,以后即可以进行消息接受。
参数:交换机名称,路由键,参数设置,内容
BasicPublish(string exchange, string routingKey, IBasicProperties basicProperties, byte[] body);
exchange:交换机名称;
routingKey:路由键;
basicproperties:参数的设置,值得注意是:basicProperties。deliverymodel:0不持久化,1持久化,这里指的是消息持久化;
body:(字节)内容。
参数:该消息的index,
BasicAck(ulong deliveryTag, bool multiple);
deliveryTag:该消息的index;
multiple:是否批量true:将一次性ack全部小于deliveryTag的消息;确认收到消息。
参数:队列名称; 可理解 是个消息标记,True:消息读取自动排除,下次不会读取到,false 消息没有排除,一直存在,
BasicGet(string queue, bool noAck);
queue:队列名称;
noAck:消息的确认,True:消息读取自动排除,下次不会读取到;false 消息没有排除,一直存在。
参数:队列名称;消息标记;消费者名称
BasicConsume(string queue, bool noAck, IBasicConsumer consumer);
quere:队列名称;
noAck:消息的确认,True:消息读取自动排除,下次不会读取到;false 消息没有排除,一直存在;
consumer:消费者名称。
参数:0,设置RabbitMQ不要同时给一个消费者推送多余N个消息;bool类型,是否将上面设置应用与channel,简答点说,就是channel级别,仍是consumer级别
BasicQos(uint prefetchSize, ushort prefetchCount, bool global);
perfetchSize:0;设置为0,没有实际研究意义;
perfetchcount:会告诉RabbitMQ不要同时给一个消费者推送多于N个消息,一旦N个消息尚未ack,则将consume将block掉,知道消息ack;
global:bool类型,将上面设置应用与channel,简单说,就是上面限制channel级别仍是consumer级别。
RabbitMQ写到这里,即将是尾声了,我也对RabbitMQ有了必定了解和认识,博客有时候不止帮助别人,某天回头温故的时候轻易上手,不会太耿,我会在整理看看相关资料,若是还有,继续出相关文档,若是没有,我就要进入下一个系列学习了。。。。哈哈哈,请举砖关注。。。。。。。其实官方提供的资料,demo已经足够咱们使用各类场景,主要仍是本身在项目和学习中去领悟,能熟练掌握场景下的使用。学习