加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

redis+php实现微博二发布与关注功能详细介绍

发布时间:2022-06-26 10:15:06 所属栏目:PHP教程 来源:互联网
导读:这篇文章主要介绍了redis+php实现微博发布与关注功能,结合实例形式分析了php结合redis实现微博的发布及关注相关操作技巧,需要的朋友可以参考下。 本文实例讲述了redis+php实现微博发布与关注功能,分享给大家供大家参考,具体如下: 数据结构: set post:p
  这篇文章主要介绍了redis+php实现微博发布与关注功能,结合实例形式分析了php结合redis实现微博的发布及关注相关操作技巧,需要的朋友可以参考下。
 
  本文实例讲述了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");。
 

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读