PHPとメッセージキューの実装のRedis

 PHP + Redisのメッセージキューは、PHP + MySQLの不十分な性能中間処理スキームとの間の時間です。プロセスの中間によってデータの可用性と正確性を確保します。サーバー要求大きなモーメントのために、圧力は、大規模なデータベースです。同時データ複製が大量に得られ、大きな同時売られ過ぎの結果として。

        プロセス:PHP要求とデータを受け入れる - > PHPのRedisのは、データキューを書く(エンキュー) - データの書き込み>シェルタイミングキューコールのPHPのMySQL(デキュー)を読みます

        実装コード:

チームへ:inqueue.php

PHP
  1. <?PHP
  2. $ Redisの  = 新しい Redisの(); 
  3. $ Redisの> - 接続'127.0.0.1' 6379を;)
  4. $のRedisの  - > を選択し'1' ); 
  5. $ Redisの- > 認証'' );
  6.  
  7. データ$  = [ A B C D E F G H ]; データオーバー//これはGETまたはPOSTリクエストすることができます  
  8. $データ  =  json_encode $データ)。
  9. で$  =  $のRedis - > rpush 'キュー' $データ);
  10. もし中$ ){
  11.     エコー  「チームの成功に」
  12. }

チーム:outqueue.php

PHP
  1. #!は/ usr / bin / php
  2. <?PHP
  3. $ Redisの  = 新しい Redisの(); 
  4. $ Redisの> - 接続'127.0.0.1' 6379を;)
  5. $のRedisの  - > を選択し'1' ); 
  6. $ Redisの- > 認証'' );
  7.  
  8. $値  =  $のRedis - > LPOP 'キュー' );
  9. $値  =  json_decode $値真の);

シェルprocess.sh:通常のスクリプトはoutqueue.php呼び出します

PHP
  1. #1分に1回呼ばれること
  2. * * * * * は/ usr / ローカル/ nginxの/ HTML / プロセスSH     
PHP
  1. #!/ binに/ bashの
  2. #file_name:process.sh
  3. #author:zuoping
  4. PHP  / USR / ローカル/ nginxの/ HTML / outqueue PHP

あなたは毎分周波数を呼び出す場合*十分ではありません、あなたはスクリプトを呼び出すことができますなど、複数回、実行:

PHP
  1. #!/ binに/ bashの
  2. #file_name:process.sh
  3. #author:zuoping
  4. PHP  / USR / ローカル/ nginxの/ HTML / outqueue PHP
  5. PHP  / USR / ローカル/ nginxの/ HTML / outqueue PHP
  6. PHP  / USR / ローカル/ nginxの/ HTML / outqueue PHP
  7. PHP  / USR / ローカル/ nginxの/ HTML / outqueue PHP
  8. PHP  / USR / ローカル/ nginxの/ HTML / outqueue PHP
  9. PHP  / USR / ローカル/ nginxの/ HTML / outqueue PHP
  10. PHP  / USR / ローカル/ nginxの/ HTML / outqueue PHP
  11. PHP  / USR / ローカル/ nginxの/ HTML / outqueue PHP
  12. PHP  / USR / ローカル/ nginxの/ HTML / outqueue PHP
  13. PHP  / USR / ローカル/ nginxの/ HTML / outqueue PHP
  14. PHP  / USR / ローカル/ nginxの/ HTML / outqueue PHP
  15. #この1分間の通話回数。

キュー内の現在のデータを表示します。

PHP
  1. <?PHP
  2. $ Redisの  = 新しい Redisの(); 
  3. $ Redisの> - 接続'127.0.0.1' 6379を;)
  4. $のRedisの  - > を選択し'1' ); 
  5. $ Redisの- > 認証'' );
  6.  
  7. $一覧  =  $のRedis - > LRANGE 'キュー' 0 、 - 1 );
  8. var_dump $リスト)。
 

おすすめ

転載: www.cnblogs.com/bluealine/p/11039414.html