php+redis實(shí)現(xiàn)消息隊(duì)列功能示例
本文實(shí)例講述了php+redis實(shí)現(xiàn)消息隊(duì)列功能。分享給大家供大家參考,具體如下:
個(gè)人理解在項(xiàng)目中使用消息隊(duì)列一般是有如下幾個(gè)原因:
把瞬間服務(wù)器的請(qǐng)求處理換成異步處理,緩解服務(wù)器的壓力
實(shí)現(xiàn)數(shù)據(jù)順序排列獲取
redis實(shí)現(xiàn)消息隊(duì)列步驟如下:
1).redis函數(shù)rpush,lpop
2).建議定時(shí)任務(wù)入隊(duì)列
3)創(chuàng)建定時(shí)任務(wù)出隊(duì)列
文件:demo.php插入數(shù)據(jù)到redis隊(duì)列
<?php
$redis = new Redis();
$redis->connect('127.0.0.1',6379);
$password = '123456';
$redis->auth($password);
$arr = array('h','e','l','l','o','w','o','r','l','d');
foreach($arr as $k=>$v){
$redis->rpush("mylist",$v);
}
執(zhí)行后結(jié)果如下
文件:index.php定時(shí)掃描出隊(duì)列
<?php
$redis = new Redis();
$redis->connect('127.0.0.1',6379);
$password = '123456';
$redis->auth($password);
//list類型出隊(duì)操作
$value = $redis->lpop('mylist');
if($value){
echo "出隊(duì)的值".$value;
}else{
echo "出隊(duì)完成";
}
?>
建立定時(shí)任務(wù)
*/1 * * * * root php /wwwroot/workplace/redis/index.php
*/3 * * * * root php /wwwroot/workplace/redis/demo.php
tail -f /var/log/cron 查看定時(shí)任務(wù)執(zhí)行情況
Nov 7 00:30:01 dongzi CROND[6888]: (root) CMD (php /wwwroot/workplace/redis/demo.php)
Nov 7 00:30:01 dongzi CROND[6890]: (root) CMD (php /wwwroot/workplace/redis/index.php )
定時(shí)任務(wù)執(zhí)行隊(duì)列寫入結(jié)果如下
127.0.0.1:6379> lrange mylist 0 -1
1) "h"
2) "e"
3) "l"
4) "l"
5) "o"
6) "w"
7) "o"
8) "r"
9) "l"
10) "d"
定時(shí)任務(wù)執(zhí)行出隊(duì)列后:
127.0.0.1:6379> lrange mylist 0 -1
1) "e"
2) "l"
3) "l"
4) "o"
5) "w"
6) "o"
7) "r"
8) "l"
9) "d"
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php+redis數(shù)據(jù)庫程序設(shè)計(jì)技巧總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《PHP基本語法入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
PHP入門教程之日期與時(shí)間操作技巧總結(jié)(格式化,驗(yàn)證,獲取,轉(zhuǎn)換,計(jì)算等)
這篇文章主要介紹了PHP入門教程之日期與時(shí)間操作技巧,結(jié)合實(shí)例形式總結(jié)分析了php針對(duì)日期與時(shí)間的驗(yàn)證、格式化、獲取、轉(zhuǎn)換、計(jì)算等相關(guān)操作技巧,需要的朋友可以參考下2016-09-09
php設(shè)計(jì)模式之裝飾模式應(yīng)用案例詳解
這篇文章主要介紹了php設(shè)計(jì)模式之裝飾模式,結(jié)合具體應(yīng)用案例形式詳細(xì)分析了php裝飾模式的概念、原理、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-06-06
PHP7.1方括號(hào)數(shù)組符號(hào)多值復(fù)制及指定鍵值賦值用法分析
這篇文章主要介紹了PHP7.1方括號(hào)數(shù)組符號(hào)多值復(fù)制及指定鍵值賦值用法,結(jié)合實(shí)例形式對(duì)比分析了php7數(shù)組復(fù)制與賦值的新特性與操作技巧,需要的朋友可以參考下2016-09-09
php實(shí)現(xiàn)的pdo公共類定義與用法示例
這篇文章主要介紹了php實(shí)現(xiàn)的pdo公共類定義與用法,結(jié)合具體實(shí)例形式分析了php實(shí)現(xiàn)的pdo操作類定義及查詢、插入等使用技巧,需要的朋友可以參考下2017-07-07
PHP實(shí)現(xiàn)支持SSL連接的SMTP郵件發(fā)送類
這篇文章主要介紹了PHP實(shí)現(xiàn)支持SSL連接的SMTP郵件發(fā)送類,實(shí)例分析了php實(shí)現(xiàn)smtp郵件發(fā)送類的原理與技巧,以及支持SSL連接的方法,需要的朋友可以參考下2015-03-03
php 調(diào)用ffmpeg獲取視頻信息的簡(jiǎn)單實(shí)現(xiàn)
下面小編就為大家?guī)硪黄猵hp 調(diào)用ffmpeg獲取視頻信息的簡(jiǎn)單實(shí)現(xiàn)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-04-04
PHP-CGI進(jìn)程CPU 100% 與 file_get_contents 函數(shù)的關(guān)系分析
有時(shí)候,運(yùn)行 Nginx、PHP-CGI(php-fpm) Web服務(wù)的 Linux 服務(wù)器,突然系統(tǒng)負(fù)載上升,使用 top 命令查看,很多 php-cgi 進(jìn)程 CPU 使用率接近100%。2011-08-08

