您好,登錄后才能下訂單哦!
這篇文章主要介紹了redis+php如何實現微博發布與關注功能,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
本文實例講述了redis+php實現微博發布與關注功能。分享給大家供大家參考,具體如下:
數據結構:
set post:postid:3:time timestamp
set post:postid:3:userid 5
set post:postid:3:content 測試發布哈哈哈哈incr global:postid
set post:postid:$postidcho "用戶名密碼不能夠為空!";
關注微博
following:3
被關注(粉絲)
followed:3
把發布的微博推給自己的粉絲
recivepost:10 postid
微博的發布代碼:
include("function.php"); include("header.php"); $content = I('content'); if(!$content){ error('內容不能夠為空'); } $user = isLogin(); if($user==false){ header("location:index.php"); exit(); } $r = redis_connect(); $postid = $r->incr('global:postid'); //$r->set("post:postid:".$postid.":time",time()); //$r->set("post:postid:".$postid.":userid",$user['userid']); //$r->set("post:postid:".$postid.":content",$content); $r->hmset("post:postid:".$postid,array('userid'=>$user['userid'],'username'=>$user['username'],'time'=>time(),'content'=>$content)); //把微博推給自己的粉絲 $fans = $r->smembers("followed:".$user['userid']); $fans[] = $user['userid']; foreach($fans as $fansid){ $r->lpush('recivepost:'.$fansid,$postid); } //單獨累計個人發布的信息 $r->lpush('userpostid:'.$user['userid'],$postid); header("location:home.php"); exit; include("bottom.php");
微博的關注代碼:
include("function.php"); include("header.php"); if(isLogin()==false){ header("location:index.php"); exit; } $user = isLogin(); $uid = trim($_GET['uid']); $f = trim($_GET['f']); $r = redis_connect(); if($f==0){ //將關注與被關注的數據結構存入redis $r->sadd("following:".$user['userid'],$uid); $r->sadd("followed:".$uid,$user['userid']); }else{ //取消關注 $r->srem("following:".$user['userid'],$uid); $r->srem("followed:".$uid,$user['userid']); } //根據傳遞過來的userid查找username $uname = $r->get("user:userid:".$uid.":username"); header("location:profile.php?u=".$uname); include("bottom.php");
感謝你能夠認真閱讀完這篇文章,希望小編分享的“redis+php如何實現微博發布與關注功能”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。