Redis应用——使用消息队列发布微博
post($uid, $content, $timestamp); // 写入MySQL数据库
?>
connect('127.0.0.1') || die('连接redis服务器失败!'); // 连接redis服务器
$redis->auth('foobared'); // 密码验证
$redis->select(0); // 选择0号数据库
$redis->setOption(Redis::OPT_PREFIX, 'my-prefix:'); // 设置键名的前缀(相当于MySQL的表前缀)
$data = array('uid' => strip_tags(trim($_POST['uid'])), // 用户的id'content' => strip_tags(trim($_POST['content'])), // 微博的内容'timestamp' => time()
);
$redis->lPush('weibo_list', json_encode($data));
$redis->close(); // 关闭redis数据库连接
?>
connect('127.0.0.1') || die('连接redis服务器失败!'); // 连接redis服务器
$redis->auth('foobared'); // 密码验证
$redis->select(0); // 选择0号数据库
$redis->setOption(Redis::OPT_PREFIX, 'my-prefix:'); // 设置键名的前缀(相当于MySQL的表前缀)$weibo = new Weibo(); // 创建Weibo对象
while (true) {if ($redis->lSize('weibo_list')>0) {$value = $redis->rPop('weibo_list'); // rpop方法配合lpush方法实现队列的先进先出$info = json_decode($value);$weibo->post($info->uid, $info->content, $info->timestamp); // 写入MySQL数据库} else {sleep(1); // 如果队列中没有任务,就睡眠1s,让出CPU给其他进程}
}
$redis->close();
?>
Redis应用——使用消息队列发布微博相关推荐
- Redis应用实践-使用消息队列发布微博
使用消息队列发布微博 有时候我们的应用中(如:微博)会出现这样的情况,一秒钟有很多用户同时发布消息.这个时候数据库Mysql可能会出现"too many connections". ...
- Redis消息队列发布微博
一些基于用户创造内容的应用中(SNS,微博),很容易出现一秒钟上万个用户同时发布消息的情况.这个时候,很容易出现MySQL的"too many connections"的情况,增大 ...
- PHP下使用Redis消息队列发布微博(复制)
phpRedisAdmin :github地址 图形化管理界面 git clone https://github.com/ErikDubbelboer/phpRedisAdmin.git cd ph ...
- 微博群发私信 php,PHP下使用Redis消息队列发布微博
phpRedisAdmin :github地址 图形化管理界面 git clone https://github.com/ErikDubbelboer/phpRedisAdmin.git cd ph ...
- php 队列 与 radis,php和redis怎么实现消息队列
把瞬间服务器的请求处理换成异步处理,缓解服务器的压力,实现数据顺序排列获取.本文主要和大家分享php和redis如何实现消息队列,希望能帮助到大家. redis实现消息队列步骤如下: 1).redis ...
- Java实现redis消息队列发布/订阅模式
最近在一个老项目中需要用消息队列,本来想着用卡夫卡,但是试了几个版本之后发现jdk和卡夫卡版本一直对不上,最后选择用redis来实现消息队列的发布/订阅模式.感谢这位大佬的博客给了我很多的帮助,htt ...
- 调试笔记 — Redis 消息队列发布信息被消费者重复订阅多次牵扯到的 Tomcat 配置问题 [#00001]
最近在项目中发现了一个奇葩的 BUG ,当用户调用后台时,后台向消息队列中发布一条消息,这条消息会被监听器(消费者)监听到,有趣的事情就在这里,此时由于只发送了一条消息,照理说监听器应该只会触发一次, ...
- 使用 Redis Stream 实现消息队列
使用 Redis Stream 实现消息队列 Intro Redis 5.0 中增加了 Stream 的支持,利用 Stream 我们可以实现可靠的消息队列,并且支持一个消息被多个消费者所消费,可以很 ...
- redis 消息队列 过段时间不能下发_以Redis来谈消息队列
首先 我先引入一个大家熟知的观点:Reids可以作为消息队列来使用 redis提供了两种方式来做消息队列,一种是生产者消费者模式,一种是发布订阅模式. 本篇文章将从 异步,解耦,分布式,可靠四部分来探 ...
最新文章
- 2019-2020-3 《Java 程序设计》第三周知识总结
- 请别埋没了URL Routing
- 程序间数据共享与传递(3):EXPORT/IMPORT、SAP/ABAP Memory
- Kafka如何实现每秒上百万的超高并发写入?
- variable 'xxx' unsafe in 'case'的处理
- C语言试题三之计算并输出 s=1+(1+2^(0.5))+(1+2^(0.5)+3^(0.5))+…+(1+2^(0.5)+3^(0.5)+…+n^(0.5))
- QT连接多种数据库f方法及测试
- MySQL系统自带的数据库information schema
- Struts2 自定义验证器
- Spring MVC学习总结(4)——SpringMVC权限管理
- Android Studio 设置主题及字体
- 架构师速成8.3-可用性之分库分表
- 最短路径(二维矩阵)
- sumk 2.0.0 发布,轻量级互联网框架
- vue 父子之间通信及非父子之间通信
- 网站地图(sitemap)在线生成
- echats统计图表的设计与实现
- JSP页面如何从一个页面传递一个参数到另外一个页面
- 并行计算与集群技术(2)
- 关于Ubuntu14.04拼音不能正常使用的解决方案
热门文章
- MySQL8读写分离集群
- sql语句查询表字段
- sql语句查询数据库中所有表名
- 计算机专业对手速要求高吗,想好玩星际争霸2 需要什么配置,手速要达到多少比较好呢...
- html打造动画【系列3】- 小猫笑脸动画
- 如何熟练地配置和微调 MacBook Pro 的显示屏幕
- 基于三星 ARM Cortex-A9 Exynos4412处理器的底层实验(led跑马灯、pwm蜂鸣器)
- python是否高送转预测股票_用Python分析公开数据选出高送转预期股票
- docker配置java环境(dockerfile方式)
- cpu对推动计算机发展的作用,一篇能让你详细了解CPU的作用与发展的文章!