php+redis実装メッセージキュー
個人的には、プロジェクトでメッセージ・キューを使用するには、一般的に次の理由があります.瞬時サーバの要求処理を非同期処理に変更し、サーバの圧力を緩和 実現データ順配列取得
redis実装メッセージキューの手順は、次のとおりです.
1).redis関数rpush,lpop
2).推奨タイミングタスクキュー
3)タイミングタスクアウトキューの作成
ファイル:demo.php redisキューへのデータの挿入
実行後の結果は次のとおりです.
?>
ファイル:index.phpタイミングスキャンキュー
タイミングタスクの確立
*/1 * * * * root php/wwwroot/workplace/redis/index.php
*/3 * * * * root php/wwwroot/workplace/redis/demo.php
tail-f/var/log/cronタイミングタスク実行状況の表示
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 )
タイミングタスク実行キューの書き込み結果は次のとおりです.
スケジュールタスクがキューから実行された後:
転載先:https://www.cnblogs.com/lisqiong/p/6039460.html
個人的には、プロジェクトでメッセージ・キューを使用するには、一般的に次の理由があります.
redis実装メッセージキューの手順は、次のとおりです.
1).redis関数rpush,lpop
2).推奨タイミングタスクキュー
3)タイミングタスクアウトキューの作成
ファイル:demo.php 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);
}
実行後の結果は次のとおりです.
?>
ファイル:index.phpタイミングスキャンキュー
connect('127.0.0.1',6379);
$password = '123456';
$redis->auth($password);
//list
$value = $redis->lpop('mylist');
if($value){
echo " ".$value;
}else{
echo " ";
}
?>
タイミングタスクの確立
*/1 * * * * root php/wwwroot/workplace/redis/index.php
*/3 * * * * root php/wwwroot/workplace/redis/demo.php
tail-f/var/log/cronタイミングタスク実行状況の表示
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 )
タイミングタスク実行キューの書き込み結果は次のとおりです.
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"
スケジュールタスクがキューから実行された後:
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"
転載先:https://www.cnblogs.com/lisqiong/p/6039460.html