redis实现阻塞轮训队列
redis实现队列有数据丢失的风险,在一些不要求高可用的需求里,可以在不引入消息队列的情况下,实现轮训队列。
java客户端实现代码
起个轮训线程
@Override
public void run() {
while (true) {
Jedis jedis = RedisUtil.getJedis();
try {
//阻塞队列,1小时没有数据释放连接
List<String> result = jedis.blpop(60 * 60 * 1, Constants.QUERY_REPLENISH_ORDER_KEY);
if (result != null && result.size() > 1) {
String key = result.get(0);
//todo something
}
} catch (Exception e) {
LogUtil.error(e, "realTime replenish order exception");
} finally {
jedis.close();
}
}
}
使用的是blpop指令,第二个参数是队列的key值,只要队列有数据,一直消费。如果没有数据,就阻塞等待数据的到来;第一个参数是等待时间,超过这个等
redis实现阻塞轮训队列相关推荐
- redis 消息队列 过段时间不能下发_以Redis来谈消息队列
首先 我先引入一个大家熟知的观点:Reids可以作为消息队列来使用 redis提供了两种方式来做消息队列,一种是生产者消费者模式,一种是发布订阅模式. 本篇文章将从 异步,解耦,分布式,可靠四部分来探 ...
- SpringBoot整合Redis实现缓存、队列、广播
[提前声明] 文章由作者:张耀峰 结合自己生产中的使用经验整理,最终形成简单易懂的文章 写作不易,转载请注明,谢谢! spark代码案例地址: https://github.com/Mydreaman ...
- redis stream 实现消息队列
redis stream 实现消息队列 Redis5.0带来了Stream类型.从字面上看是流类型,但其实从功能上看,应该是Redis对消息队列(MQ,Message Queue)的完善实现. 基于r ...
- redis list 实现消息队列 多线程消费
redis list 实现消息队列 多线程消费 redis list 实现消息队列 多线程消费 redis list 实现消息队列 多线程消费 利用redis list 命令: Redis Brpop ...
- Redis如何实现消息队列
消息队列的实现方式有很多种,比如有专业的rabbitmq,rocketmq,kafka等,这些mq提供了非常专业的功能实现异步发送,而且这些接入又比较复杂. Redis 利用 其 专有的数据结构lis ...
- 基于 Redis Stream 的消息队列
文章目录 基于 Redis Stream 的消息队列 消息队列相关命令 消费者组相关命令 如何使用Stream消息队列 生产者写入消息 - XADD 消费者读取消息 - XGROUP 创建消费者组 - ...
- 你知道Redis可以实现延迟队列吗?
作者:_BKing 来源:www.cnblogs.com/xiaowei123/p/13222710.html 最近,又重新学习了下Redis,深深被Redis的魅力所折服,Redis不仅能快还能慢( ...
- redis延迟队列 实现_灵感来袭,基于Redis的分布式延迟队列(续)
背景 上一篇(灵感来袭,基于Redis的分布式延迟队列)讲述了基于Java DelayQueue和Redis实现了分布式延迟队列,这种方案实现比较简单,应用于延迟小,消息量不大的场景是没问题的,毕竟J ...
- redis延迟消息队列不准时php,Redis实现延迟消息队列
消息队列是应用中常用的一个技术点,通常我们可以借助消息队列中间件来实现,但是并不是所有的情况下,都需要使用到MQ. 如果只需要实现简单的消息队列,那么借助Redis即可. 如果对消息有着严格的可靠性等 ...
最新文章
- pandas 排序 给excel_懂Excel轻松入门Python数据分析包pandas(二十五):循环序列分组...
- python3常用函数大全_Python3NumPy——常用函数
- 看完50多家阵亡的初创企业,我们发现了AI创业的5个行业潜规则
- 『PyTorch』第五弹_深入理解autograd_中:Variable梯度探究
- Exp2 后门原理与实践 20164323段钊阳
- EasyUI——实现展示后台数据代码
- CF1088F Ehab and a weird weight formula(树上最优性问题、贪心+倍增)
- 背景图处理,这是个好东西记录一下
- C# winform 上传文件 (多种方案)
- Spring security UserDetailsService autowired注入失败错误
- 网站通过了QQ安全认证了
- 考清华计算机研究生数学看什么,一位考上清华计算机研究生的悲壮历程(数学考了满分).doc...
- Centos 7 环境下,如何使用 Apache 实现 SSL 虚拟主机 双向认证 的详细教程:
- 数据分析常用的7大思维方法详解
- MySQL驱动jar包的下载--保姆教程
- [技巧]如何绕过MaxtoCode的15天限制
- 在QT下使用映美精黑白相机
- 入职体检的体检项目有哪些呢?
- java全国二级考点,java计算机全国二级考试时间
- Vue -- vue-router(路由)的基本使用
热门文章
- 【金猿案例展】中新天津生态城——智慧城市产业大脑系统建设
- Step1 :【C51】LED灯闪烁、跑马灯、流水灯、实现每次亮两个灯的流水灯
- 渡月橋 ~君 想ふ~ - 倉木麻衣
- NBU OJ1211:一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。
- 蚂蚁上市:P7可获1200万元期权,酸酸酸酸酸...
- 微软校招编程题Beautiful String的状态机解法
- 微软校招面试题3-15 (一道经典算法,一道比较难的题目)
- Nvidia-docker2 for ubuntu18.04初试!
- Kill Math: 让数学不只是符号
- 为什么专用服务器要选择至强Xeon系列的处理器呢?