主頁 > 知識庫 > phpredis提高消息隊列的實時性方法(推薦)

phpredis提高消息隊列的實時性方法(推薦)

熱門標簽:地方門戶網(wǎng)站 服務(wù)外包 鐵路電話系統(tǒng) 網(wǎng)站排名優(yōu)化 呼叫中心市場需求 AI電銷 Linux服務(wù)器 百度競價排名

數(shù)據(jù)庫存貯都用list形式 要存2個隊列 1個用作消息隊列保存到數(shù)據(jù) 還有個 就是用來實時讀取數(shù)據(jù)在redis

 $redis->lpush($queenkey, json_encode($array));
    $redis->lpush($listkey, json_encode($array));

/*消息隊列實例*/

public function insertinfo()
  {
    $infos = array('info1' => mt_rand(10,100), 'info2' => mt_rand(10,100));
    $this->insertinfos($infos, 'tutorial-list','tutoriallist');
  }



 public function insertinfos($array, $queenkey,$listkey)
  {
    //連接本地的 Redis 服務(wù)
    $redis = new \Redis();
    $redis->connect('127.0.0.1', 6379);
    //存儲數(shù)據(jù)到列表中
    $redis->lpush($queenkey, json_encode($array));
    $redis->lpush($listkey, json_encode($array));

  }

讀取 邏輯當redis key沒有了 就讀取數(shù)據(jù)庫 然后重新寫入list 有的話就讀取redis數(shù)據(jù)

 /*讀取實例*/

  public function getinfo()
  {
    $sql = 'select * from mobantestinfo';
    $result = $this->getinfos('tutoriallist', $sql);

    //redis key不為空 直接讀取redis
    if(empty($result)){
      //連接本地的 Redis 服務(wù)
      $redis = new \Redis();
      $redis->connect('127.0.0.1', 6379);
      // 獲取存儲的數(shù)據(jù)并輸出
      $result = $redis->lrange('tutoriallist', 0, -1);
      foreach ($result as $k=>$v){
        $result[$k]=json_decode($v,true);
      }
      print_r($result);
      exit();
    }
  }
  
  function getinfos($key, $sql)
  {
    //連接本地的 Redis 服務(wù)
    $redis = new \Redis();
    $redis->connect('127.0.0.1', 6379);

    // 獲取存儲的數(shù)據(jù)
    $result = $redis->lrange($key, 0, 1);

    if (empty($result)) {
      $VModel = new HuanShanVoteModel();
      $result = $VModel->query($sql);

      //重新將緩存隊列的形式放入數(shù)據(jù)庫
       foreach ($result as $k=>$v){
      //這個地方要從右邊插入 來保證跟數(shù)據(jù)庫順序一樣
        $redis->rpush($key,json_encode($v));
       }
    } else {
      $result=0;

    }


    return $result;
  }

以上就是小編為大家?guī)淼膒hpredis提高消息隊列的實時性方法(推薦)全部內(nèi)容了,希望大家多多支持腳本之家~

您可能感興趣的文章:
  • 詳解PHP多個進程配合redis的有序集合實現(xiàn)大文件去重
  • redis 隊列操作的例子(php)
  • php中使用redis隊列操作實例代碼
  • PHP使用php-resque庫配合Redis實現(xiàn)MQ消息隊列的教程
  • php+redis消息隊列實現(xiàn)搶購功能
  • PHP實現(xiàn)電商訂單自動確認收貨redis隊列
  • php基于Redis消息隊列實現(xiàn)的消息推送的方法
  • PHP基于Redis消息隊列實現(xiàn)發(fā)布微博的方法
  • PHP+Redis 消息隊列 實現(xiàn)高并發(fā)下注冊人數(shù)統(tǒng)計的實例
  • PHP使用redis消息隊列發(fā)布微博的方法示例
  • PHP實現(xiàn)基于Redis的MessageQueue隊列封裝操作示例
  • php使用redis的有序集合zset實現(xiàn)延遲隊列應用示例

標簽:崇左 湖南 衡水 仙桃 銅川 黃山 湘潭 蘭州

巨人網(wǎng)絡(luò)通訊聲明:本文標題《phpredis提高消息隊列的實時性方法(推薦)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266