redis+php实现微博(二)发布与关注功能详解

 更新时间:2019年09月23日 10:11:29   作者:巴八灵  
这篇文章主要介绍了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");

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+redis数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • PHP实现关键字搜索后描红功能示例

    PHP实现关键字搜索后描红功能示例

    这篇文章主要介绍了PHP实现关键字搜索后描红功能,结合实例形式分析了php数据库连接、查询、字符串转换等相关操作技巧,需要的朋友可以参考下
    2019-07-07
  • php生成验证码函数

    php生成验证码函数

    这篇文章主要介绍了php生成验证码函数的相关资料,需要的朋友可以参考下
    2015-10-10
  • PHP开发需要注意的安全问题

    PHP开发需要注意的安全问题

    php开发过程中,需要注意的安全细节,其实不只是php其它语言通用。
    2010-09-09
  • PHP实现的猴王算法(猴子选大王)示例

    PHP实现的猴王算法(猴子选大王)示例

    这篇文章主要介绍了PHP实现的猴王算法(猴子选大王),对比分析了两种PHP猴王算法,涉及PHP数组遍历、判断、递归等相关操作技巧,需要的朋友可以参考下
    2018-04-04
  • PHP使用SMTP邮件服务器发送邮件示例

    PHP使用SMTP邮件服务器发送邮件示例

    这篇文章主要介绍了PHP使用SMTP邮件服务器发送邮件,结合实例形式分析了php基于SMTP协议的邮件发送类email.class.php定义与使用技巧,需要的朋友可以参考下
    2018-08-08
  • PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结

    PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结

    这篇文章主要介绍了PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结,并给出了一个综合使用这些函数的例子做了一个简易文件浏览器,需要的朋友可以参考下
    2014-11-11
  • php eval函数用法总结

    php eval函数用法总结

    这个函数我想很多朋友都知道,黑客用得最多的一句了,可以解析php 代码并且运行哦,eval是函数不可在php中禁止,以前我就以为可以在php.ini禁止此函数,结果失败了
    2012-10-10
  • ThinkPHP中自定义目录结构的设置方法

    ThinkPHP中自定义目录结构的设置方法

    现在很多朋友喜欢使用ThinkPHP但它会生成的很多目录有些朋友不喜欢,这里为大家分享下将目录都放到include目录的方法,这样就干净多了
    2014-08-08
  • PHP应用代码复杂度检测使用方法

    PHP应用代码复杂度检测使用方法

    这篇文章主要为大家介绍了PHP应用代码复杂度检测使用方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • PHP使用PHPExcel实现批量上传到数据库的方法

    PHP使用PHPExcel实现批量上传到数据库的方法

    下面小编就为大家带来一篇PHP使用PHPExcel实现批量上传到数据库的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06

最新评论