phpredis提高消息隊(duì)列的實(shí)時(shí)性方法(推薦)
數(shù)據(jù)庫存貯都用list形式 要存2個(gè)隊(duì)列 1個(gè)用作消息隊(duì)列保存到數(shù)據(jù) 還有個(gè) 就是用來實(shí)時(shí)讀取數(shù)據(jù)在redis
$redis->lpush($queenkey, json_encode($array)); $redis->lpush($listkey, json_encode($array));
/*消息隊(duì)列實(shí)例*/
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); //存儲(chǔ)數(shù)據(jù)到列表中 $redis->lpush($queenkey, json_encode($array)); $redis->lpush($listkey, json_encode($array)); }
讀取 邏輯當(dāng)redis key沒有了 就讀取數(shù)據(jù)庫 然后重新寫入list 有的話就讀取redis數(shù)據(jù)
/*讀取實(shí)例*/ 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); // 獲取存儲(chǔ)的數(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); // 獲取存儲(chǔ)的數(shù)據(jù) $result = $redis->lrange($key, 0, 1); if (empty($result)) { $VModel = new HuanShanVoteModel(); $result = $VModel->query($sql); //重新將緩存隊(duì)列的形式放入數(shù)據(jù)庫 foreach ($result as $k=>$v){ //這個(gè)地方要從右邊插入 來保證跟數(shù)據(jù)庫順序一樣 $redis->rpush($key,json_encode($v)); } } else { $result=0; } return $result; }
以上就是小編為大家?guī)淼膒hpredis提高消息隊(duì)列的實(shí)時(shí)性方法(推薦)全部內(nèi)容了,希望大家多多支持腳本之家~
- 詳解PHP多個(gè)進(jìn)程配合redis的有序集合實(shí)現(xiàn)大文件去重
- redis 隊(duì)列操作的例子(php)
- php中使用redis隊(duì)列操作實(shí)例代碼
- PHP使用php-resque庫配合Redis實(shí)現(xiàn)MQ消息隊(duì)列的教程
- php+redis消息隊(duì)列實(shí)現(xiàn)搶購功能
- PHP實(shí)現(xiàn)電商訂單自動(dòng)確認(rèn)收貨redis隊(duì)列
- php基于Redis消息隊(duì)列實(shí)現(xiàn)的消息推送的方法
- PHP基于Redis消息隊(duì)列實(shí)現(xiàn)發(fā)布微博的方法
- PHP+Redis 消息隊(duì)列 實(shí)現(xiàn)高并發(fā)下注冊(cè)人數(shù)統(tǒng)計(jì)的實(shí)例
- PHP使用redis消息隊(duì)列發(fā)布微博的方法示例
- PHP實(shí)現(xiàn)基于Redis的MessageQueue隊(duì)列封裝操作示例
- php使用redis的有序集合zset實(shí)現(xiàn)延遲隊(duì)列應(yīng)用示例
相關(guān)文章
利用控制臺(tái)如何對(duì)Redis執(zhí)行增刪改查命令
這篇文章主要給大家介紹了關(guān)于利用控制臺(tái)如何對(duì)Redis執(zhí)行增刪改查命令的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-08-08Redis簡單動(dòng)態(tài)字符串SDS的實(shí)現(xiàn)示例
Redis沒有直接復(fù)用C語言的字符串,而是新建了SDS,本文主要介紹了Redis簡單動(dòng)態(tài)字符串SDS的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2023-08-08Redis基于Bitmap實(shí)現(xiàn)用戶簽到功能
很多應(yīng)用上都有用戶簽到的功能,尤其是配合積分系統(tǒng)一起使用。本文主要介紹了Redis基于Bitmap實(shí)現(xiàn)用戶簽到功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06Redis優(yōu)化token校驗(yàn)主動(dòng)失效的實(shí)現(xiàn)方案
在普通的token頒發(fā)和校驗(yàn)中 當(dāng)用戶發(fā)現(xiàn)自己賬號(hào)和密碼被暴露了時(shí)修改了登錄密碼后舊的token仍然可以通過系統(tǒng)校驗(yàn)直至token到達(dá)失效時(shí)間,所以系統(tǒng)需要token主動(dòng)失效的一種能力,所以本文給大家介紹了Redis優(yōu)化token校驗(yàn)主動(dòng)失效的實(shí)現(xiàn)方案,需要的朋友可以參考下2024-03-03nestjs使用redis實(shí)現(xiàn)ip限流的步驟詳解
如果使用nestjs開發(fā)接口并部署之后,我們通常需要考慮到接口是否會(huì)被惡意盜刷消耗過多的資源,一個(gè)簡單的方式就是限制在單位時(shí)間內(nèi)的訪問次數(shù),所以本文給大家介紹了nestjs使用redis實(shí)現(xiàn)ip限流的步驟,需要的朋友可以參考下2025-01-01