php mysql redis mq_PHP基于Redis消息队列实现发布微博的方法
本文实例讲述了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消息队列实现发布微博的方法相关推荐
- 微博群发私信 php,用PHP基于Redis消息队列实现发布微博的方法
用PHP基于Redis消息队列实现发布微博的方法 PHP基于Redis消息队列实现发布微博的方法,结合实例形式分析了php+redis数据库的安装.连接.读取.插入等相关操作技巧,需要的朋友可以参考下 ...
- java redis延迟队列_基于redis实现的延迟消息队列
delay-queue redis实现延迟消息队列 需求背景 最近在做一个排队取号的系统 在用户预约时间到达前XX分钟发短信通知 在用户预约时间结束时要判断用户是否去取号了,不然就记录为爽约 在用户取 ...
- RabbitMQ,Apache的ActiveMQ,阿里RocketMQ,Kafka,ZeroMQ,MetaMQ,Redis也可实现消息队列,RabbitMQ的应用场景以及基本原理介绍,RabbitMQ
RabbitMQ,Apache的ActiveMQ,阿里RocketMQ,Kafka,ZeroMQ,MetaMQ,Redis也可实现消息队列,RabbitMQ的应用场景以及基本原理介绍,RabbitMQ ...
- Redis 使用 List 实现消息队列的利与弊
作者 | 码哥字节 来源 | 码哥字节 分布式系统中必备的一个中间件就是消息队列,通过消息队列我们能对服务间进行异步解耦.流量消峰.实现最终一致性. 目前市面上已经有 RabbitMQ.RochetM ...
- redis之如何实现消息队列
写在前面 本文一起来看下使用redis如何实现消息队列的功能.目前在redis想要实现消息队列的功能有如下的两种方案: 1:基于List的lpush和rpop 2:Streams 这里不将pub/su ...
- Pyspider 使用带认证redis集群作为消息队列
文章目录 概述 pyspider message_queue 源码解读 pyspider的message_queue的配置文件 使用redis集群时的配置文件 使用redis单点,带认证时的messa ...
- mysql消息队列推送到redis_Redis实现消息队列之发布订阅模式
发布订阅(pub/sub)是一种消息通信模式:发送者(pub)在某一频道发送消息,订阅者(sub)接收消息.发布订阅模式类似与微博关注,比如说博主mango被张三.李四.王五关注,那么mango发一篇 ...
- 基于RabbitMQ消息队列的分布式事务解决方案 - MQ分布式消息中间件实战
基于RabbitMQ消息队列的分布式事务解决方案 - MQ分布式消息中间件实战 参考文章: (1)基于RabbitMQ消息队列的分布式事务解决方案 - MQ分布式消息中间件实战 (2)https:// ...
- php post发微博,php结合redis实现高并发下发帖、发微博的方法
本篇文章主要介绍php结合redis实现高并发下发帖.发微博的方法,感兴趣的朋友参考下,希望对大家有所帮助. 发帖.发微博.点赞.评论等这些操作很频繁的动作如果并发量小,直接入库是最简单的 但是并发量 ...
最新文章
- R绘制直方图(Histogram)
- 第01章_数据库概述
- 屏蔽storm ui的kill功能
- 对一致性Hash算法,Java代码实现的深入研究
- 一个服务器上配置多个tomcat
- php扩展库加密如何解密,如何利用Mcrypt扩展库进行加密和解密_PHP教程
- java 矩阵题目_java练习本(原每日一练)(20190517)
- 基于SpringBoot 2.0正式版的SpringCloud的微服务实战项目搭建
- 认识Spring以及环境的配置
- java中CheckException和UnCheckException的区别
- java高德地图urlapi_高德地图POI采集(URL-API)
- Centos设置开机自动启动
- 手机像素与分辨率的关系
- nmap命令检查在线IP与在线IP的开放端口情况
- 推荐这几个阿里、抖音、快手超级牛逼的技术大佬的公众号!
- 美国L-1A签证简介
- Hbase和Hive安装
- lumia flash android,Lumia830吃上棉花糖!WP手机刷安卓7.1详细教程
- 程序人生 - 目前市场上各大品牌笔记本(戴尔,联想,华硕,惠普等等)的点评?
- 【python绘图】——删除多余的图例【图示说明】
热门文章
- 最懂你的服装设计师是AI?让用户 “凭心意” 生成数字服装#Adidas OZWORLD
- jquery.inArray()和splice()使用小记
- 华为OD机试题 - Excel 单元格数值统计(JavaScript)| 机考必刷
- Linux同步服务器时间
- 网上采购android智能手机,在这里您可以订购 Sony Android智能手机
- 私有云---openstack
- pandas所有列纵向求和,横向求和,求和数据里有特殊符号处理方法
- 天津web前端培训,2022年zui新全栈开发技术有这些
- linux下jdk的安装和docker打包运行镜像
- 进程间通信IPC、LPC、RPC