Redis 實現訊息佇列 MQ

2022-08-21 11:03:16 字數 837 閱讀 3939

redis 2.4版本之後就內建佇列的功能了,如果是日常比較簡單的佇列應用,可以選擇redis , 效率還很高的!!

redis 還能實現有序無序兩種佇列(只討論生產者和消費者這種模式的佇列):

一、有序佇列:

1、生產者:

$redis = new redis();

$redis->pconnect('127.0.0.1', 6379);

$redis->zadd('mq', 1, 'need to do 1');

$redis->zadd('mq', 2, 'need to do 2');

2、消費者:

while (true)  else if ($pid == 0)  else 

}

二、無序佇列:

1、生產者:

$redis = new redis();

$redis->pconnect('127.0.0.1', 6379);

$redis->lpush('mq', 1, 'need to do 1');

$redis->lpush('mq', 2, 'need to do 2');

2、消費者:

while (true)  else if ($pid == 0)  else 

}

簡單版就是這樣了~~當然,如果應用規模大,還是建議用正規的mq,例如:rabbitmq

**:

訊息佇列MQ

目錄 一 簡介 二 為什麼需要訊息佇列 mq 三 介紹 訊息佇列 message queuing 在電腦科學中,是一種程序間通訊或同一程序間不同執行緒的通訊方式。廣義上講訊息佇列是解決分布式系統中,各個功能模組間的資訊傳遞通訊方式。與檔案傳輸和rpc相比,訊息佇列具有更好的平台無關性,並能夠很好地支...

MQ訊息佇列

1.解耦 系統a將userid寫到訊息佇列中,系統c和系統d從訊息佇列中拿資料。這樣有什麼好處?系統a只負責把資料寫到佇列中,誰想要或不想要這個資料 訊息 系統a一點都不關心。即便現在系統d不想要userid這個資料了,系統b又突然想要userid這個資料了,都跟系統a無關,系統a一點 都不用改。系...

MQ訊息佇列應用

很榮幸,原來一直聽說的訊息佇列終於在前段時間用到了自己的專案中。為什麼會用到訊息佇列?毫無疑問,當然是傳輸訊息。這裡訊息一般是一串字串,當然,訊息的含義很多,可以是 hello world 可以是 你吃飯了嗎?可以是一串正式的xml報文。也可以是乙個txt檔案或者xml檔案 在用active mq的...