婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > PHP+redis實現微博的推模型案例分析

PHP+redis實現微博的推模型案例分析

熱門標簽:高德地圖標注家 長春人工外呼系統服務商 廣州防封卡外呼系統多少錢一個月 仁和怎么申請400開頭的電話 外呼系統撥打暫時無法接通 怎么向銷售公司推銷外呼系統 廣東地市地圖標注 江西手機自動外呼防封系統是什么 哪里辦理400電話

本文實例講述了PHP+redis實現微博的推模型。分享給大家供大家參考,具體如下:

最近在看了一下關于redis的內容,然后利用redis寫了一個簡單的微博項目,這篇文章是關于推模型的。

推模型

所謂推模型,就是用戶在發布微博的時候會將微博推送給關注者和自己,然后其他關注者登錄之后就可以看到發布的微博。

微博項目數據結構設計

user表設計

注冊的時候將user數據寫入redis中,key如下:

user數據的key
用戶名=user:uesrid:$uesrid:username
密碼=user:userid:$userid:password

還需要這樣寫一份,因為需要靠用戶名來登錄,這樣就可以根據用戶名來查詢用戶id。

user:username:userid:$userid

關注的人和粉絲設計

每個用戶在產生關注的動作后,在redis中維護兩個無序集合set,一個是following,一個是follower,following集合保存的是我關注的人,follower集合保存的是我的粉絲。注意是每個用戶都要維護這樣的兩個集合,用userid來區。

微博表設計

每條微博的信息用hash結構來存儲,根據不同的微博id來區分,每條微博有如下信息:發布人id,發布人昵稱,發布時間,微博內容。

推送表設計

用戶在發布微博的時候,將微博推送給自己的粉絲,每個粉絲都維護一個推送微博的鏈表,這個鏈表只保存50條最新微博。推送表中保存的是微博id.

關注操作

我們在redis中維護兩個無序集合set,一個是following,一個是follower,following集合保存的是我關注的人,follower集合保存的是我的粉絲。注意是每個用戶都要維護這樣的兩個集合,用userid來區分。

核心代碼:

$conn = connredis();//連接redis
if($f){//如果沒有關注過
 $conn->sadd('following:'.$user['userid'],$userid);
 $conn->sadd('follower:'.$userid,$user['userid']);
}else{
 $conn->srem('following:'.$user['userid'],$userid);
 $conn->srem('follower:'.$userid,$user['userid']);
}

發布微博

遍歷自己的粉絲,給每個粉絲都推送一條微博,將推送的微博保存到每個用戶的推送表中

核心代碼:

//1、保存微博
$conn = connredis();//連接redis
$postid = $conn->incr('global:postid');//生成微博id
//保存微博數據
$conn->hmset('post:postid:'.$postid,['userid'=>$user['userid'],'username'=>$user['username'],'time'=>time(),'content'=>$content]);
//2、推送微博
$fans = $conn->smembers('follower:'.$user['userid']);//獲取所有粉絲
$fans[] = $user['userid'];//自己也要推送一份
foreach($fans as $u){
 $conn->lpush('receivepost:'.$u,$postid);
 $conn->ltrim('receivepost:'.$u,0,49);//每個人保存最新微博50條
}

展示微博

首先連接redis,然后獲取自己的推送表的信息,遍歷推送表,然后獲取微博內容,最后獲取自己的粉絲和關注數。進行數據展示即可。

//獲取推送的微博id
$conn = connredis();
$postids = $conn->sort('receivepost:'.$user['userid'],['sort'=>'desc']);
//獲取微博
$posts = [];
foreach($postids as $postid){
$posts[] = $conn->hmget('post:postid:'.$postid,['userid','username','time','content']);
}
//獲取粉絲和關注數
$fansnum = $conn->scard('follower:'.$user['userid']);
$follownum = $conn->scard('following:'.$user['userid']);

總結

推模型的微博實例,實現還是比較簡單的,但是推模型對性能有影響,假如我是一個大V,微博關注數有2000W,我在發微博的時候需要給2000W個人推送一條微博,但是很多人又是僵尸粉,可想而知對性能有一定的影響。我很可以將推模型改為拉模型,這樣就能解決這個問題了。

更多關于PHP相關內容感興趣的讀者可查看本站專題:《php+redis數據庫程序設計技巧總結》、《php面向對象程序設計入門教程》、《PHP基本語法入門教程》、《PHP數組(Array)操作技巧大全》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

您可能感興趣的文章:
  • PHP實現發送微博消息功能完整示例
  • redis+php實現微博(三)微博列表功能詳解
  • redis+php實現微博(二)發布與關注功能詳解
  • redis+php實現微博(一)注冊與登錄功能詳解
  • PHP+redis實現微博的拉模型案例詳解
  • vue+php實現的微博留言功能示例
  • php微信分享到朋友圈、QQ、朋友、微博
  • PHP調用微博接口實現微博登錄的方法示例
  • php新浪微博登錄接口用法實例
  • 基于PHP實現發微博動態代碼實例

標簽:惠州 黔東 梅河口 文山 湘西 海北 廈門 濮陽

巨人網絡通訊聲明:本文標題《PHP+redis實現微博的推模型案例分析》,本文關鍵詞  PHP+redis,實現,微博,的,推,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP+redis實現微博的推模型案例分析》相關的同類信息!
  • 本頁收集關于PHP+redis實現微博的推模型案例分析的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    97久久超碰国产精品| 捆绑变态av一区二区三区| 精品99999| 欧美不卡在线视频| 精品久久久久99| 国产午夜精品一区二区三区嫩草| 日韩欧美一级二级三级| 精品国产伦一区二区三区观看方式 | 日韩福利视频导航| 视频一区二区三区在线| 日韩av午夜在线观看| 看电视剧不卡顿的网站| 国产美女在线精品| 波多野结衣亚洲| 欧美日韩一区二区三区在线看| 欧美视频中文字幕| 日韩欧美在线一区二区三区| 91精品国产91综合久久蜜臀| 精品国产sm最大网站| 久久精品日韩一区二区三区| 国产精品乱码人人做人人爱| 中文字幕一区二区三区蜜月| 亚洲综合一二三区| 加勒比av一区二区| 色综合色综合色综合色综合色综合 | 国产91丝袜在线观看| 99在线精品免费| 91精品国模一区二区三区| 日韩欧美中文字幕制服| 国产精品美女久久久久久| 亚洲大片精品永久免费| 国产成人精品综合在线观看 | 成人免费高清在线| 欧美日韩色一区| 国产欧美一区二区精品久导航| 一级日本不卡的影视| 麻豆国产精品官网| 日本久久一区二区| 久久久久久久久久电影| 亚洲va在线va天堂| 暴力调教一区二区三区| 欧美一级一级性生活免费录像| 中文字幕一区免费在线观看| 日本午夜精品视频在线观看| 91蝌蚪porny九色| 久久综合狠狠综合| 秋霞电影一区二区| 在线精品视频一区二区三四| 国产三级精品三级在线专区| 日韩精品亚洲一区| 99久久久国产精品免费蜜臀| 精品福利二区三区| 日韩激情一二三区| 欧美三级中文字幕在线观看| 亚洲视频电影在线| 国产91精品久久久久久久网曝门| 日韩精品一区二区三区中文精品| 亚洲国产日韩一级| 欧美色国产精品| 亚洲va欧美va人人爽| 91黄色激情网站| 亚洲精品va在线观看| 91麻豆国产精品久久| 亚洲日本电影在线| av激情成人网| 亚洲图片欧美激情| 99视频有精品| 亚洲精品成人少妇| 欧美无人高清视频在线观看| 一区二区三区免费在线观看| 在线观看视频一区二区欧美日韩 | 欧美剧情片在线观看| 一区二区成人在线| 欧美日韩在线免费视频| 亚洲成年人影院| 69堂成人精品免费视频| 日韩中文字幕一区二区三区| 7777精品伊人久久久大香线蕉最新版| 一区二区三区精品视频| 色综合天天天天做夜夜夜夜做| 日韩一区中文字幕| 91九色02白丝porn| 青青草91视频| 久久久精品国产99久久精品芒果 | 91精品午夜视频| 蜜桃精品视频在线| 国产日韩亚洲欧美综合| 99久久久精品免费观看国产蜜| 亚洲综合一区在线| 欧美一区二区三区思思人| 国产乱子伦一区二区三区国色天香| 久久精品一区二区三区av| 99re6这里只有精品视频在线观看| 一区二区三区四区精品在线视频| 欧美精品日韩精品| 高清在线不卡av| 一区二区三区久久久| 精品免费国产二区三区 | 麻豆精品在线视频| 欧美国产日韩亚洲一区| 99精品桃花视频在线观看| 亚洲精品伦理在线| 精品国产人成亚洲区| 成人国产精品免费观看视频| 亚洲国产视频网站| 久久精品亚洲国产奇米99| 欧美亚洲综合网| 国产白丝网站精品污在线入口| 一区二区三区在线观看视频| 精品乱码亚洲一区二区不卡| 91丨九色丨尤物| 日本aⅴ免费视频一区二区三区| 国产农村妇女毛片精品久久麻豆 | 久久精品水蜜桃av综合天堂| 日本高清视频一区二区| 国产乱色国产精品免费视频| 亚洲精品视频在线| 337p粉嫩大胆噜噜噜噜噜91av| 一本久道中文字幕精品亚洲嫩| 玖玖九九国产精品| 亚洲成av人片在线观看无码| 国产精品无圣光一区二区| 精品国产一区二区在线观看| 欧美日韩视频在线一区二区| 99九九99九九九视频精品| 国产伦精一区二区三区| 亚洲午夜精品17c| 最新日韩在线视频| 久久久精品国产99久久精品芒果 | 免费在线观看一区| 亚洲人成影院在线观看| 国产日韩欧美一区二区三区综合| 在线成人小视频| 欧美日韩一区成人| 欧美色网站导航| 97精品久久久午夜一区二区三区 | 日韩中文字幕区一区有砖一区 | 欧美sm极限捆绑bd| 欧美日韩美少妇| 91久久免费观看| 色狠狠av一区二区三区| 91色.com| 在线视频中文字幕一区二区| 99re这里只有精品首页| www.亚洲人| 99九九99九九九视频精品| 成人午夜电影久久影院| 国产成人在线影院 | 六月丁香综合在线视频| 天堂成人国产精品一区| 日韩av一级片| 久久9热精品视频| 国产麻豆91精品| av成人老司机| 欧美午夜免费电影| 欧美精品免费视频| 日韩视频一区二区在线观看| 日韩欧美激情在线| 国产三级欧美三级| 国产精品动漫网站| 亚洲福利视频三区| 麻豆成人久久精品二区三区小说| 韩日精品视频一区| 99vv1com这只有精品| 欧美日韩精品电影| 26uuu成人网一区二区三区| 国产亚洲一区字幕| 亚洲一区影音先锋| 久久99国产乱子伦精品免费| 国产精品66部| 色偷偷成人一区二区三区91| 欧美人妖巨大在线| 欧美精品一区二区三区一线天视频 | 欧美日本一区二区三区四区| 欧美一区二区三区色| 国产精品嫩草99a| 一二三四区精品视频| 麻豆精品视频在线| av成人免费在线观看| 91精品久久久久久久91蜜桃| 中文字幕乱码一区二区免费| 亚洲一区二区三区国产| 国产精品综合久久| 欧美日韩1234| 亚洲天堂免费在线观看视频| 麻豆精品在线播放| 91激情在线视频| 精品国产乱码久久久久久久| 亚洲免费观看高清在线观看| 美日韩一区二区| 在线免费观看视频一区| 国产欧美一区二区在线观看| 亚洲一二三专区| 国产91精品一区二区麻豆网站| 91精品国产免费| 亚洲制服欧美中文字幕中文字幕| 国产麻豆精品95视频| 欧美一区二区三区电影| 亚洲精品国产第一综合99久久| 国产高清精品久久久久|