欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > 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實現微博的推模型案例分析的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    亚洲日本va午夜在线影院| 国精产品一区一区三区mba桃花 | 亚洲女则毛耸耸bbw| 成人免费毛片东京热| 国产亚洲1区2区3区| 激情六月婷婷久久| x88av在线| 久久免费视频色| 激情综合色综合久久| jizz中文字幕| 久久精品一二三| 国产精品888| 亚洲欧美卡通动漫| 欧美国产综合色视频| 粉嫩一区二区三区性色av| 天海翼在线视频| 亚洲国产精品v| 成人app软件下载大全免费| 午夜剧场免费在线观看| 亚洲欧洲国产专区| 99久久夜色精品国产网站| 欧美在线视频全部完| 亚洲激情五月婷婷| 精品1卡二卡三卡四卡老狼| 91精品国产综合久久久蜜臀图片| 亚洲成a人片在线观看中文| 亚洲av成人无码一二三在线观看| 欧美一级黄色片| 韩国v欧美v日本v亚洲v| chinese全程对白| 日韩理论片在线| 制服.丝袜.亚洲.中文.综合懂| 欧美美女bb生活片| 日本大胆欧美人术艺术动态| 天天躁夜夜躁狠狠是什么心态| 国产日韩欧美在线一区| 不卡av电影在线播放| 欧美色老头old∨ideo| 日韩和的一区二区| 极品尤物一区二区| 《视频一区视频二区| 亚洲成年人在线观看| 欧美成人三级电影在线| 国产成人av资源| 欧美视频一二三区| 美女性感视频久久| 亚洲xxxx3d动漫| 亚洲成a人片在线不卡一二三区| 90岁老太婆乱淫| 国产精品国产精品国产专区不蜜| 欧美性视频一区二区三区| 欧美三级日韩三级| 日韩1区2区日韩1区2区| 日本美女bbw| 亚洲精品乱码久久久久久日本蜜臀| 欧美激情一区二区三区p站| 久久尤物电影视频在线观看| 成人一区二区三区视频| 51午夜精品国产| 国产精品99久久久久| 欧美少妇xxx| 久久99在线观看| 日本韩国精品一区二区在线观看| 日韩精品91亚洲二区在线观看| 99成人在线观看| 午夜视频在线观看一区| 欧美性猛交xxxx乱大交少妇| 亚洲一级二级三级| 欧美成人短视频| 亚洲无人区一区| 永久av免费网站| 日韩中文字幕亚洲一区二区va在线| 999久久久国产| 日日欢夜夜爽一区| 色综合天天性综合| 精品一区二区免费视频| 欧美色视频一区| 国v精品久久久网| 日韩视频在线永久播放| av一区二区三区黑人| 久久综合给合久久狠狠狠97色69| 91蝌蚪国产九色| 国产精品素人视频| 丰满圆润老女人hd| 亚洲国产精品自拍| 永久久久久久久| 精品一区二区国语对白| 在线不卡免费av| 91伊人久久大香线蕉| 国产性天天综合网| www.中文字幕av| 亚洲一区二区三区四区不卡| 日韩精品一区二区三区在线视频| 秋霞午夜av一区二区三区| 91福利区一区二区三区| 国产成人精品综合在线观看| 日韩精品一区二区三区在线| 国产a级片视频| 亚洲色图都市小说| 日韩精品一区二区三区在线视频| 美女视频网站黄色亚洲| 在线综合亚洲欧美在线视频| 94-欧美-setu| 国产精品你懂的在线| 日韩一区二区a片免费观看| 亚洲mv大片欧洲mv大片精品| 在线亚洲免费视频| jlzzjlzz国产精品久久| 国产精品视频看| 国产91在线播放九色| 国产真实乱子伦精品视频| 精品美女在线观看| 西西大胆午夜视频| 婷婷综合久久一区二区三区| 欧美午夜精品一区二区三区| 91网址在线看| 蜜桃久久精品成人无码av| 午夜久久久久久| 欧美日本免费一区二区三区| 日批视频在线看| 亚洲精品欧美激情| 欧美亚一区二区| 精品人妻人人做人人爽夜夜爽| 亚洲乱码精品一二三四区日韩在线 | 亚洲成人黄色av| 男男gaygay亚洲| 欧美白人最猛性xxxxx69交| 少妇精品一区二区| 蜜桃在线一区二区三区| 2024国产精品视频| 亚洲av毛片基地| 国产黄色成人av| 国产精品久久午夜| 一区二区视频免费看| av电影在线观看不卡| 亚洲欧美另类久久久精品2019| 色视频成人在线观看免| 久久久久无码精品| 亚洲国产日日夜夜| 日韩一级片在线播放| 精品少妇一区二区三区免费观| 蜜臀久久99精品久久久画质超高清| 欧美刺激午夜性久久久久久久| 中文字幕免费高清| 国产高清久久久久| 国产精品国产自产拍高清av| 一本到不卡免费一区二区| 色哟哟在线观看视频| 五月天一区二区| 精品欧美一区二区久久| 色综合99久久久无码国产精品| 国产美女精品人人做人人爽| 国产精品久久国产精麻豆99网站| 色噜噜狠狠成人网p站| 国产一精品一aⅴ一免费| 奇米四色…亚洲| 国产欧美视频一区二区三区| wwwav国产| 亚洲av成人精品一区二区三区| 免费人成黄页网站在线一区二区| 久久精品夜色噜噜亚洲aⅴ| 欧美人禽zoz0强交| 日批视频免费看| 青青草精品视频| 中文乱码免费一区二区 | 国产一区二区免费在线| 亚洲欧美怡红院| 欧美精品成人一区二区三区四区| 人妻大战黑人白浆狂泄| 丁香一区二区三区| 亚洲午夜电影在线| 久久久久亚洲综合| 欧美怡红院视频| 一本色道久久综合亚洲精品图片| 国产成人自拍高清视频在线免费播放| 亚洲精品乱码久久久久久日本蜜臀| 日韩一区二区三区免费看| 91香蕉视频污在线观看| 国产伦精品一区二区三区88av| 极品少妇一区二区| 亚洲黄色片在线观看| 欧美精品一区二区三区久久久| 色综合天天在线| 精品少妇人妻一区二区黑料社区| 国产很黄免费观看久久| 亚洲bt欧美bt精品777| 日本一区二区三区视频视频| 欧美日韩在线亚洲一区蜜芽| 久久久久久成人网| 午夜影院福利社| 福利一区福利二区| 日韩成人精品在线观看| 最新日韩在线视频| www一区二区| 欧美日韩国产经典色站一区二区三区| 欧美日韩国产黄色| 你懂的在线观看网站| www.成人在线| 精品一区二区三区在线播放| 亚洲成人777|