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
您可能感兴趣
- yield函数详解(Yii框架的redis命令使用方法简单示例)
- win7redis安装教程(Docke中安装redis的方法)
- docker配置redis集群(基于Docker搭建Redis主从集群的实现)
- laravel框架的高级知识点(laravel配置Redis多个库的实现方法)
- docker容器使用redis服务(docker安装redis设置密码并连接的操作)
- python操作redis(Python获取Redis所有Key以及内容的方法)
- phpredis存储对象(PHP使用redis位图bitMap 实现签到功能)
- pythonredis列表(Python redis操作实例分析连接、管道、发布和订阅等)
- docker redis配置文件放哪里(最详细的docker中安装并配置redis图文详解)
- Docker 部署单机版 Pulsar 和集群架构 Redis(开发神器)的方法(Docker 部署单机版 Pulsar 和集群架构 Redis开发神器的方法)
- docker实现redis集群(详解使用Docker进行Redis主从复制实践)
- docker运行redis并操作(Docker安装MySQL和Redis的方法步骤)
- docker部署redis集群查看版本(docker下的 redis 之持久化存储详解)
- phpredis高级用法(PHP Redis扩展无法加载的问题解决方法)
- docker里面安装redis(Docker上实现Redis集群搭建)
- mysql缓存和redis查询效率(浅谈MySQL与redis缓存的同步方案)
- 《祝卿好》台词又土又甜,就喜欢这么直接的恋爱(祝卿好台词又土又甜)
- 大女主 汤唯垂青电视圈,搭档朱亚文出演《大明皇妃孙若微传》(汤唯垂青电视圈)
- 红色代表什么(红色代表什么情感和含义)
- 高中数学题(高中数学题型总结及解题方法)
- 冰岛旅游攻略(冰岛旅游攻略及花费)
- 为什么现在年轻人越来越喜欢买衣服(为什么现在年轻人越来越喜欢买衣服穿)
热门推荐
- django 如何实现高并发(Django如何防止定时任务并发浅析)
- 在docker中运行springboot(Linux Docker运行springboot项目的步骤详解)
- sql server清理日志(SQL Server 2008 清空删除日志文件瞬间缩小日志到几M)
- python的模块与包与库(Python 中包/模块的 `import` 操作代码)
- centos中安装sql图(CentOS 7.3上SQL Server vNext CTP 1.2安装教程)
- flask快速开发框架(手把手教你使用Flask搭建ES搜索引擎预备篇)
- sqlserver2012海量数据查询(SQL Server 2012 多表连接查询功能实例代码)
- laravel请求处理流程(详解如何实现Laravel的服务容器的方法示例)
- sql分区原理(分区表场景下的 SQL 优化)
- nodejs数据采集(nodejs获取表单数据的三种方法实例)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9