欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2016年12月14日 14:59:06   投稿:jingxian  
下面小編就為大家?guī)硪黄猵hpredis提高消息隊列的實時性方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

數(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 服務
    $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 服務
      $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 服務
    $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)容了,希望大家多多支持腳本之家~

相關(guān)文章

  • 利用控制臺如何對Redis執(zhí)行增刪改查命令

    利用控制臺如何對Redis執(zhí)行增刪改查命令

    這篇文章主要給大家介紹了關(guān)于利用控制臺如何對Redis執(zhí)行增刪改查命令的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-08-08
  • Ubuntu下Redis密碼設置問題及其解決過程

    Ubuntu下Redis密碼設置問題及其解決過程

    這篇文章主要介紹了Ubuntu下Redis密碼設置問題及其解決過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Redis生成全局唯一ID的實現(xiàn)方法

    Redis生成全局唯一ID的實現(xiàn)方法

    全局唯一ID生成器是一種在分布式系統(tǒng)下用來生成全局唯一ID的工具,本文主要介紹了Redis生成全局唯一ID的實現(xiàn)方法,具有一定的參考價值,感興趣的可以了解一下
    2022-06-06
  • Redis簡單動態(tài)字符串SDS的實現(xiàn)示例

    Redis簡單動態(tài)字符串SDS的實現(xiàn)示例

    Redis沒有直接復用C語言的字符串,而是新建了SDS,本文主要介紹了Redis簡單動態(tài)字符串SDS的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2023-08-08
  • redis延遲雙刪策略示例講解

    redis延遲雙刪策略示例講解

    延遲是指當前請求邏輯處理延時,而不是當前線程或進程睡眠延遲,下面這篇文章主要給大家介紹了關(guān)于redis延遲雙刪策略的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-04-04
  • Redis基于Bitmap實現(xiàn)用戶簽到功能

    Redis基于Bitmap實現(xiàn)用戶簽到功能

    很多應用上都有用戶簽到的功能,尤其是配合積分系統(tǒng)一起使用。本文主要介紹了Redis基于Bitmap實現(xiàn)用戶簽到功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Redis優(yōu)化token校驗主動失效的實現(xiàn)方案

    Redis優(yōu)化token校驗主動失效的實現(xiàn)方案

    在普通的token頒發(fā)和校驗中 當用戶發(fā)現(xiàn)自己賬號和密碼被暴露了時修改了登錄密碼后舊的token仍然可以通過系統(tǒng)校驗直至token到達失效時間,所以系統(tǒng)需要token主動失效的一種能力,所以本文給大家介紹了Redis優(yōu)化token校驗主動失效的實現(xiàn)方案,需要的朋友可以參考下
    2024-03-03
  • nestjs使用redis實現(xiàn)ip限流的步驟詳解

    nestjs使用redis實現(xiàn)ip限流的步驟詳解

    如果使用nestjs開發(fā)接口并部署之后,我們通常需要考慮到接口是否會被惡意盜刷消耗過多的資源,一個簡單的方式就是限制在單位時間內(nèi)的訪問次數(shù),所以本文給大家介紹了nestjs使用redis實現(xiàn)ip限流的步驟,需要的朋友可以參考下
    2025-01-01
  • Redis中key的操作命令

    Redis中key的操作命令

    本文主要介紹了Redis中key的操作命令,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-06-06
  • Redis?List列表相關(guān)命令的用法詳解

    Redis?List列表相關(guān)命令的用法詳解

    這篇文章主要為大家詳細介紹了Redis中List列表相關(guān)命令的用法,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-10-10

最新評論