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的...