通過前面的學習,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已經足夠咱們使用各類場景,主要仍是本身在項目和學習中去領悟,能熟練掌握場景下的使用。學習