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
您可能感兴趣
- docker里面安装redis(Docker上实现Redis集群搭建)
- django常用模块(django celery redis使用具体实践)
- laravel的api验证失败重定向(Laravel的Auth验证Token验证使用自定义Redis的例子)
- docker容器使用redis服务(docker安装redis设置密码并连接的操作)
- docker实现redis集群(详解使用Docker进行Redis主从复制实践)
- redis数据超过可用内存
- redis新手入门教学(scrapy-redis的安装部署步骤讲解)
- docker redis配置文件放哪里(最详细的docker中安装并配置redis图文详解)
- docker redis安装配置(在docker中部署并启动redis的方法)
- python ssh登录服务器(python利用跳板机ssh远程连接redis的方法)
- php实现redis消息队列(redis+php实现微博三微博列表功能详解)
- docker装redis(通过Docker部署Redis 6.x集群的方法)
- phpredis怎么设置队列(php使用lua+redis实现限流,计数器模式,令牌桶模式)
- docker容器使用redis服务(在Docker中使用Redis的步骤详解)
- phpredis使用场景(php和redis实现秒杀活动的流程)
- mysql缓存和redis查询效率(浅谈MySQL与redis缓存的同步方案)
- 高考数学题(高考数学题基础题占多少分)
- 没钱只能吃土(没钱要吃土了幽默短信发朋友圈)
- 今年考高会很难吗(今年高考会考试吗)
- 盘古开天地 他创造了世界,谁创造了盘古 盘古是伏羲吗(盘古开天地他创造了世界)
- 关于队徽 你了解这些么 二(关于队徽你了解这些么)
- 冬天来了手脚冰凉 真不是因为上辈子你是折翼的天使(冬天来了手脚冰凉)
热门推荐
- html自适应怎么没有滚动条(如何让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度)
- 云服务器主要内容(云服务器的应用优势分析,你知道有哪些优势吗?)
- vue 富文本图片上传(vue.js云存储实现图片上传功能)
- c#操作XML文件的通用方法
- 腾讯云服务器安装需要什么(免费的云服务器怎么申请?腾讯云服务器的申请流程)
- 微信小程序怎么绕过人脸的(详解微信小程序官方人脸核身认证)
- python 配置文件环境变量(python环境路径配置以及命令行运行脚本)
- 安卓app开发用什么设计ui(AmazeUI框架搭建的方法步骤图文)
- MySQL主从状态检查的实现(MySQL主从状态检查的实现)
- 数据库having的用法(数据库SQL中having和where的用法区别)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9