php消息队列redis(redis+php实现微博二发布与关注功能详解)
类别:编程学习 浏览量:1682
时间:2021-10-23 10:23:56 php消息队列redis
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" ); |
希望本文所述对大家PHP程序设计有所帮助。
原文链接:https://www.cnblogs.com/lisqiong/p/5580927.html
您可能感兴趣
- phpredis怎么实现任务(PHP swoole和redis异步任务实现方法分析)
- docker部署tomcat(Docker安装Tomcat、MySQL和Redis的步骤详解)
- pythonredis使用场景(python redis 删除key脚本的实例)
- docker运行redis并操作(Docker安装MySQL和Redis的方法步骤)
- docker实现redis集群(详解使用Docker进行Redis主从复制实践)
- redis新增数据分页(Scrapy-Redis结合POST请求获取数据的方法示例)
- phpredis存储对象(PHP使用redis位图bitMap 实现签到功能)
- redis新手入门教学(scrapy-redis的安装部署步骤讲解)
- python redis锁的使用(Python操作redis实例小结String、Hash、List、Set等)
- docker部署redis集群查看版本(docker下的 redis 之持久化存储详解)
- php实现redis消息队列(redis+php实现微博三微博列表功能详解)
- php消息队列redis(redis+php实现微博二发布与关注功能详解)
- phpredis常用方法(PHP针对redis常用操作实例详解)
- docker redis安装配置(使用docker搭建redis主从的方法步骤)
- phpredis高级用法(PHP Redis扩展无法加载的问题解决方法)
- docker redis安装配置(在docker中部署并启动redis的方法)
- 这里输入关键词(请手动输入关键词)
- 小说 顾瑾岚拿出一套飞行棋,别说你连飞行棋都不会哦(顾瑾岚拿出一套飞行棋)
- 金品公司 界界乐中秋限定飞行棋礼盒 露营藤篮礼盒全新上市(界界乐中秋限定飞行棋礼盒)
- 必看 8月,相比七夕,更需要注意的是这些事(必看8月相比七夕)
- 8月23日11时16分将迎处暑,逐渐进入气象意义上的秋天(8月23日11时16分将迎处暑)
- 花不语 下 如果重来一次的话,你还会这么选择吗(花不语下如果重来一次的话)
热门推荐
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9