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提供了两种方式来做消息队列,一种是生产者消费者模式,一种是发布订阅模式. 本篇文章将从 异步,解耦,分布式,可靠四部分来探 ...
最新文章
- ASP.NET Excel导入到SQL Server数据库
- k8s的网络优化(metallb)
- oracle经常开关好吗,频繁开关机对电脑有什么影响吗?
- webview部分安卓机中文乱码
- VS2010 C# 4.0新特性一览
- OC 内存管理之手动内存管理MRC
- VFP+6.0中文版教程--初级教程
- CAN与CAN FD通信之间存在的问题
- 文件系统:NTFS、FAT32和exFAT
- win11系统完全使用ie浏览器的方法
- CFSSL 生成证书
- iphone手势识别(双击、捏、旋转、拖动、划动、长按)UITapGestureRecognizer
- 解决PyQt5程序报错Process finished with exit code -1073740791 (0xC0000409)
- html nav均匀分布的粘性导航栏
- web前端:img标签alt属性什么情况留空?
- 2022.05.18-使用Lightroom批量将图像从Raw转换为jpg
- 计算机信息技术奥赛实践,2018信息学奥赛 成绩_浅谈中学信息学奥林匹克竞赛课程的建设...
- SDL(Simple DirectMedia Layer)
- 机床数据采集之新代(SYNETC)IP网络地址参数设定
- 【CAP】代码即策略(CaP):编写自己代码的机器人 | Robots That Write Their Own Code
热门文章
- 求教Word自动生成的目录中标题无法顶格,编号与标题之间也存在空格无法消除怎么办,
- 展锐平台 取消蓝牙配对码弹框
- Android--打地鼠
- $.inArray()使用方法
- android 椭圆轨迹旋转,Android 倾斜椭圆绘制方法
- iPhone限制每天游戏时间,设置某些APP每天最长使用时间,未成年保护 - 《屏幕使用时间》密码设置
- Electron中使用bytenode保护nodejs代码实践
- web视频剪辑 在线视频编辑 开发类似:VE视频引擎 美摄sdk VESDK 蓝松短视频SDK 筷子saas剪辑 系统源码
- java怎么在文本框里输入文件,java中如何把窗体内文本框输入的内容保存到文件内?...
- 企业实战-Docker(三)网络