新聞中心
TP5框架使用Redis進(jìn)行隊(duì)列處理

成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的塔河網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
隊(duì)列處理是一種常見的操作,在許多網(wǎng)站中,都有對短信發(fā)送,郵件發(fā)送,日志存儲(chǔ)等業(yè)務(wù)的定時(shí)隊(duì)列處理任務(wù)需求。TP5框架可以使用Redis作為隊(duì)列的處理服務(wù)器,非常靈活且高效。
Redis是一種高性能的key-value數(shù)據(jù)庫,在功能上可以看成是一個(gè)支持多種數(shù)據(jù)結(jié)構(gòu)的專用服務(wù)器,而它能夠?qū)崿F(xiàn)高性能是因?yàn)樗鼘?shù)據(jù)的存儲(chǔ)采用內(nèi)存,而不是一般的硬盤存儲(chǔ)。Redis一般用于存儲(chǔ)文本或者對象,也可以用于隊(duì)列處理,支持多種數(shù)據(jù)結(jié)構(gòu),例如list,set,sorted set等,且可以進(jìn)行快速的插入和取出,簡單易用,因此在TP5框架中使用Redis來做定時(shí)隊(duì)列處理更是合適的。
在使用TP5框架的定時(shí)任務(wù)隊(duì)列處理中,首先需要安裝Redis,對于windows用戶可以下載Redis的安裝包,在安裝過程中需要勾選運(yùn)行Redis服務(wù)。安裝完成后,可使用如下代碼連接Redis服務(wù):
$redis = new \Redis();
$redis->connect("127.0.0.1", 6379);
$redis->auth("password");
安裝完Redis以后,下面我們就可以使用TP5框架進(jìn)行定時(shí)任務(wù)隊(duì)列處理。使用ThinkPHP5中Job類是構(gòu)建隊(duì)列處理任務(wù)最簡單的方式。Job類繼承自think\queue\Job,可以用來構(gòu)建基于Redis處理隊(duì)列任務(wù),使用之前我們需要配置job.php,如下代碼:
return [
'connector' => 'Redis', // Redis 驅(qū)動(dòng)
'expire' => 60, // 任務(wù)的過期時(shí)間,默認(rèn)為60秒; 若要禁用,則設(shè)置為 null
'default' => 'default', // 默認(rèn)的隊(duì)列名稱
'host' => '127.0.0.1', // redis 主機(jī)ip
'port' => 6379, // redis 端口
'password' => '', // redis 密碼
'select' => 0, // 使用哪一個(gè) db,默認(rèn)為 db0
'timeout' => 0, // redis連接的超時(shí)時(shí)間
'persistent' => false, // 是否是長連接
];
完成上述配置之后,我們就可以使用下面的代碼創(chuàng)建任務(wù):
$jobHandlerClassName = 'app\index\job\Hello';
$jobData = ['msg'=>'foo'];
$isPushed =$ttsQueue->push(new $jobHandlerClassName(),$jobData);
以上代碼將會(huì)創(chuàng)建一個(gè)任務(wù),調(diào)用Hello類的execute方法,同時(shí)傳遞一個(gè)參數(shù)‘msg’,其中的參數(shù)最終被傳遞至 Hello 類的execute方法中。通過以上配置,TP5框架就可以實(shí)現(xiàn)基于Redis的隊(duì)列任務(wù)了,從而節(jié)省大量的協(xié)調(diào)、控制任務(wù)復(fù)雜性。
香港服務(wù)器選創(chuàng)新互聯(lián),香港虛擬主機(jī)被稱為香港虛擬空間/香港網(wǎng)站空間,或者簡稱香港主機(jī)/香港空間。香港虛擬主機(jī)特點(diǎn)是免備案空間開通就用, 創(chuàng)新互聯(lián)香港主機(jī)精選cn2+bgp線路訪問快、穩(wěn)定!
本文標(biāo)題:TP5框架使用Redis進(jìn)行隊(duì)列處理(tp5使用redis入列)
文章路徑:http://m.fisionsoft.com.cn/article/cdsoiid.html


咨詢
建站咨詢
