php redis消息队列用哪种好,phpredis提高消息队列的实时性方法(推荐)
搜索热词
数据库存贮都用list形式 要存2个队列 1个用作消息队列保存到数据 还有个 就是用来实时读取数据在redis
$redis->lpush($queenkey,json_encode($array));
$redis->lpush($listkey,json_encode($array));
/*消息队列实例*/
public function insertinfo()
{
$infos = array('info1' => mt_rand(10,100),'info2' => mt_rand(10,100));
$this->insertinfos($infos,'tutorial-list','tutoriallist');
}
public function insertinfos($array,$queenkey,$listkey)
{
//连接本地的 Redis 服务
$redis = new \Redis();
$redis->connect('127.0.0.1',6379);
//存储数据到列表中
$redis->lpush($queenkey,json_encode($array));
}
读取 逻辑当redis key没有了 就读取数据库 然后重新写入list 有的话就读取redis数据
/*读取实例*/
public function getinfo()
{
$sql = 'select * from mobantestinfo';
$result = $this->getinfos('tutoriallist',$sql);
//redis key不为空 直接读取redis
if(empty($result)){
//连接本地的 Redis 服务
$redis = new \Redis();
$redis->connect('127.0.0.1',6379);
// 获取存储的数据并输出
$result = $redis->lrange('tutoriallist',-1);
foreach ($result as $k=>$v){
$result[$k]=json_decode($v,true);
}
print_r($result);
exit();
}
}
function getinfos($key,$sql)
{
//连接本地的 Redis 服务
$redis = new \Redis();
$redis->connect('127.0.0.1',6379);
// 获取存储的数据
$result = $redis->lrange($key,1);
if (empty($result)) {
$VModel = new HuanShanVoteModel();
$result = $VModel->query($sql);
//重新将缓存队列的形式放入数据库
foreach ($result as $k=>$v){
//这个地方要从右边插入 来保证跟数据库顺序一样
$redis->rpush($key,json_encode($v));
}
} else {
$result=0;
}
return $result;
}
以上就是小编为大家带来的PHPredis提高消息队列的实时性方法(推荐)全部内容了,希望大家多多支持编程小技巧~
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
php redis消息队列用哪种好,phpredis提高消息队列的实时性方法(推荐)相关推荐
- 异构计算-1-10x10:一种异质性和提高能量效率的通用架构方法
摘要 20年来,微处理器的性能有了1000倍的提高.最近,由于晶体管的速度和能耗的限制,整个半导体工业,逐渐通过多核并行来提高性能.广泛研究表明,未来需要更好的方法,如-超并行机制,接近门限电平调节技 ...
- android 投屏 app 三星,两种支持三星Note10投屏到电脑的方法推荐
北京时间8月8日,三星在美国纽约召开发布会,发布了三星下半年的旗舰手机Galaxy Note 10系列. 三星Note10系列此次采用了后置4摄设计,在最新的DxO拍照评分中,Note 10+获得了1 ...
- redis实现消息队列的几种方式及其优劣
概述 常用的消息队列有,rabbitMq.kafka.RocketMq.ActiveMq等.这些消息队列需要独立安装部署,作为一个中间件来提供服务,虽然有着高性能.高可靠的优点,但是额外部署这些中间件 ...
- 延时队列的几种实现方式
延时队列的几种实现方式 何为延迟队列? 顾名思义,首先它要具有队列的特性,再给它附加一个延迟消费队列消息的功能,也就是说可以指定队列中的消息在哪个时间点被消费. 延时队列能做什么? 延时队列多用于需要 ...
- 手把手教姐姐写消息队列(golang)- 使用channel实现消息队列
前言 这周姐姐入职了新公司,老板想探探他的底,看了一眼他的简历,呦呵,精通kafka,这小姑娘有两下子,既然这样,那你写一个消息队列吧.因为要用go语言写,这可给姐姐愁坏了.赶紧来求助我,我这么坚贞不 ...
- redis集群的几种模式
redis集群的几种模式 主从模式 哨兵模式 Cluster集群模式(推荐) 三种模式都有搭建成功,相比之下,个人还是推荐Cluster集群 主从模式 主从模式(Master-Slave Replic ...
- python优先级排序_用Python实现优先级队列的3种方法
微信公众号:冰咖啡与狗 1. 什么是优先级队列? 优先级队列是一种容器型数据结构,它能管理一队记录,并按照排序字段(例如一个数字类型的权重值)为其排序.由于是排序的,所以在优先级队列中你可以快速获取到 ...
- mq中消息消费的几种方式
mq系列文章 本章内容 从消费者的角度出发,分析一下消息消费的两种方式: push方式 pull方式 push方式 消息消费的过程: mq接收到消息 mq主动将消息推送给消费者(消费者需提供一个消费接 ...
- 谈谈mq消息消费的几种方式
mq系列文章 对mq了解不是很多的,可以看一下下面两篇文章: 聊聊mq的使用场景 聊聊业务系统中投递消息到mq的几种方式 聊聊消息消费的几种方式 如何确保消息至少消费一次 如何保证消息消费的幂等性 本 ...
最新文章
- EntLib 3.1学习笔记(5) : Exception Handling Application Block
- mysql七:视图、触发器、事务、存储过程、函数
- Xcode4.4 import header 的问题解决方法
- c# textbox和listbox多行显示
- 性能优化系列(四)电量性能优化
- 一份新的lilypond谱子,能设置页边距和设置换页符了
- Nginx代理百度地图,实现内网访问百度地图
- mysql局域网访问6_mysql局域网访问
- 中学数学知识点实体识别
- 技术分享| 如何使用FFmpeg命令处理音视频
- Microsoft Visio Professional 2013打不开也卸载不了解决办法
- (三)RabbitMQ集群(Ⅰ)
- 【观察】亚信科技:“飞轮效应”背后的数智化创新“延长线”
- mysql数据库收缩
- c语言编程实现二进制计算器,本程序是用纯C语言编的一个基于命令行的四则运算计算器。主要用于计算四则运算表达式的值,同时可以实现四...
- app Store 审核被拒问题详解
- 【笔记篇】12订单履约系统——之《实战供应链》
- 调用企业微信扫一扫功能流程记录
- 2.在unity中创建shader模板
- 实战Memcached缓存系统