本文实例讲述了PHP基于Redis消息队列实现发布微博的方法。分享给大家供大家参考,具体如下:

phpRedisAdmin :github地址  图形化管理界面

git clone [url]https://github.com/ErikDubbelboer/phpRedisAdmin.git[/url]

cd phpRedisAdmin

git clone [url]https://github.com/nrk/predis.git[/url] vendor

首先安装上述的Redis图形化管理界面,能够方便的管理Redis数据

为了降低Mysql的并发数,先把用户的微博存在Redis中

假设用户发布的时候需要三个字段,uid(用户ID号),username(用户姓名),content('用户的评论')

比如用户传递以下信息

//此处需要安装phpredis

$redis = new Redis();

$redis->connect('127.0.0.1', 6379);

// 连接redis

$web_info= array(

'uid' => '123456',

'username' => '123',

'content' =>'123'

);

//将数组转成json来存储

$list = json_encode($web_info);

//lpush向KEY对应的头部添加一个字符串元素

$redis->lpush('weibo_lists',$list);

$redis->close();

///var_dump(json_encode($web_info));

var_dump($list);

?>

此处可以看到我们的redis已经有数据了

//创建一个PDO数据库链接 data.php

class qq{

public function post($uid='',$username='',$content=''){

try{

$dsn = "mysql:host;dbname=localhost;dbname=test";

$db = new PDO($dsn,'root','root');

$db->exec("SET NAMES UTF8");

$sql ="insert into test(uid,username,content)values('$uid','$username','$content')";

$db->exec($sql);

}catch(PDOException $e){

$e->getMessage();

}

}

}

//处理redis数据库的数据 并把数据放到MYSQL数据库中

include "data.php";

$qq = new qq();

$redis = new Redis();

$redis->connect('127.0.0.1', 6379);

//返回的列表的大小。如果列表不存在或为空,该命令返回0。如果该键不是列表,该命令返回FALSE

if($redis -> lsize('weibo_lists')){

//从LIST头部删除并返回删除数据

$info = $redis->rPop('weibo_lists');

$info = json_decode($info);

$qq->post($info->uid,$info->username,$info->content);

}

$redis->close();

var_dump($info);

?>

我们能看到数据库已经有数据了

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

php mysql redis mq_PHP基于Redis消息队列实现发布微博的方法相关推荐

  1. 微博群发私信 php,用PHP基于Redis消息队列实现发布微博的方法

    用PHP基于Redis消息队列实现发布微博的方法 PHP基于Redis消息队列实现发布微博的方法,结合实例形式分析了php+redis数据库的安装.连接.读取.插入等相关操作技巧,需要的朋友可以参考下 ...

  2. java redis延迟队列_基于redis实现的延迟消息队列

    delay-queue redis实现延迟消息队列 需求背景 最近在做一个排队取号的系统 在用户预约时间到达前XX分钟发短信通知 在用户预约时间结束时要判断用户是否去取号了,不然就记录为爽约 在用户取 ...

  3. RabbitMQ,Apache的ActiveMQ,阿里RocketMQ,Kafka,ZeroMQ,MetaMQ,Redis也可实现消息队列,RabbitMQ的应用场景以及基本原理介绍,RabbitMQ

    RabbitMQ,Apache的ActiveMQ,阿里RocketMQ,Kafka,ZeroMQ,MetaMQ,Redis也可实现消息队列,RabbitMQ的应用场景以及基本原理介绍,RabbitMQ ...

  4. Redis 使用 List 实现消息队列的利与弊

    作者 | 码哥字节 来源 | 码哥字节 分布式系统中必备的一个中间件就是消息队列,通过消息队列我们能对服务间进行异步解耦.流量消峰.实现最终一致性. 目前市面上已经有 RabbitMQ.RochetM ...

  5. redis之如何实现消息队列

    写在前面 本文一起来看下使用redis如何实现消息队列的功能.目前在redis想要实现消息队列的功能有如下的两种方案: 1:基于List的lpush和rpop 2:Streams 这里不将pub/su ...

  6. Pyspider 使用带认证redis集群作为消息队列

    文章目录 概述 pyspider message_queue 源码解读 pyspider的message_queue的配置文件 使用redis集群时的配置文件 使用redis单点,带认证时的messa ...

  7. mysql消息队列推送到redis_Redis实现消息队列之发布订阅模式

    发布订阅(pub/sub)是一种消息通信模式:发送者(pub)在某一频道发送消息,订阅者(sub)接收消息.发布订阅模式类似与微博关注,比如说博主mango被张三.李四.王五关注,那么mango发一篇 ...

  8. 基于RabbitMQ消息队列的分布式事务解决方案 - MQ分布式消息中间件实战

    基于RabbitMQ消息队列的分布式事务解决方案 - MQ分布式消息中间件实战 参考文章: (1)基于RabbitMQ消息队列的分布式事务解决方案 - MQ分布式消息中间件实战 (2)https:// ...

  9. php post发微博,php结合redis实现高并发下发帖、发微博的方法

    本篇文章主要介绍php结合redis实现高并发下发帖.发微博的方法,感兴趣的朋友参考下,希望对大家有所帮助. 发帖.发微博.点赞.评论等这些操作很频繁的动作如果并发量小,直接入库是最简单的 但是并发量 ...

最新文章

  1. R绘制直方图(Histogram)
  2. 第01章_数据库概述
  3. 屏蔽storm ui的kill功能
  4. 对一致性Hash算法,Java代码实现的深入研究
  5. 一个服务器上配置多个tomcat
  6. php扩展库加密如何解密,如何利用Mcrypt扩展库进行加密和解密_PHP教程
  7. java 矩阵题目_java练习本(原每日一练)(20190517)
  8. 基于SpringBoot 2.0正式版的SpringCloud的微服务实战项目搭建
  9. 认识Spring以及环境的配置
  10. java中CheckException和UnCheckException的区别
  11. java高德地图urlapi_高德地图POI采集(URL-API)
  12. Centos设置开机自动启动
  13. 手机像素与分辨率的关系
  14. nmap命令检查在线IP与在线IP的开放端口情况
  15. 推荐这几个阿里、抖音、快手超级牛逼的技术大佬的公众号!
  16. 美国L-1A签证简介
  17. Hbase和Hive安装
  18. lumia flash android,Lumia830吃上棉花糖!WP手机刷安卓7.1详细教程
  19. 程序人生 - 目前市场上各大品牌笔记本(戴尔,联想,华硕,惠普等等)的点评?
  20. 【python绘图】——删除多余的图例【图示说明】

热门文章

  1. 最懂你的服装设计师是AI?让用户 “凭心意” 生成数字服装#Adidas OZWORLD
  2. jquery.inArray()和splice()使用小记
  3. 华为OD机试题 - Excel 单元格数值统计(JavaScript)| 机考必刷
  4. Linux同步服务器时间
  5. 网上采购android智能手机,在这里您可以订购 Sony Android智能手机
  6. 私有云---openstack
  7. pandas所有列纵向求和,横向求和,求和数据里有特殊符号处理方法
  8. 天津web前端培训,2022年zui新全栈开发技术有这些
  9. linux下jdk的安装和docker打包运行镜像
  10. 进程间通信IPC、LPC、RPC