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实现阻塞轮训队列相关推荐

  1. redis 消息队列 过段时间不能下发_以Redis来谈消息队列

    首先 我先引入一个大家熟知的观点:Reids可以作为消息队列来使用 redis提供了两种方式来做消息队列,一种是生产者消费者模式,一种是发布订阅模式. 本篇文章将从 异步,解耦,分布式,可靠四部分来探 ...

  2. SpringBoot整合Redis实现缓存、队列、广播

    [提前声明] 文章由作者:张耀峰 结合自己生产中的使用经验整理,最终形成简单易懂的文章 写作不易,转载请注明,谢谢! spark代码案例地址: https://github.com/Mydreaman ...

  3. redis stream 实现消息队列

    redis stream 实现消息队列 Redis5.0带来了Stream类型.从字面上看是流类型,但其实从功能上看,应该是Redis对消息队列(MQ,Message Queue)的完善实现. 基于r ...

  4. redis list 实现消息队列 多线程消费

    redis list 实现消息队列 多线程消费 redis list 实现消息队列 多线程消费 redis list 实现消息队列 多线程消费 利用redis list 命令: Redis Brpop ...

  5. Redis如何实现消息队列

    消息队列的实现方式有很多种,比如有专业的rabbitmq,rocketmq,kafka等,这些mq提供了非常专业的功能实现异步发送,而且这些接入又比较复杂. Redis 利用 其 专有的数据结构lis ...

  6. 基于 Redis Stream 的消息队列

    文章目录 基于 Redis Stream 的消息队列 消息队列相关命令 消费者组相关命令 如何使用Stream消息队列 生产者写入消息 - XADD 消费者读取消息 - XGROUP 创建消费者组 - ...

  7. 你知道Redis可以实现延迟队列吗?

    作者:_BKing 来源:www.cnblogs.com/xiaowei123/p/13222710.html 最近,又重新学习了下Redis,深深被Redis的魅力所折服,Redis不仅能快还能慢( ...

  8. redis延迟队列 实现_灵感来袭,基于Redis的分布式延迟队列(续)

    背景 上一篇(灵感来袭,基于Redis的分布式延迟队列)讲述了基于Java DelayQueue和Redis实现了分布式延迟队列,这种方案实现比较简单,应用于延迟小,消息量不大的场景是没问题的,毕竟J ...

  9. redis延迟消息队列不准时php,Redis实现延迟消息队列

    消息队列是应用中常用的一个技术点,通常我们可以借助消息队列中间件来实现,但是并不是所有的情况下,都需要使用到MQ. 如果只需要实现简单的消息队列,那么借助Redis即可. 如果对消息有着严格的可靠性等 ...

最新文章

  1. pandas 排序 给excel_懂Excel轻松入门Python数据分析包pandas(二十五):循环序列分组...
  2. python3常用函数大全_Python3NumPy——常用函数
  3. 看完50多家阵亡的初创企业,我们发现了AI创业的5个行业潜规则
  4. 『PyTorch』第五弹_深入理解autograd_中:Variable梯度探究
  5. Exp2 后门原理与实践 20164323段钊阳
  6. EasyUI——实现展示后台数据代码
  7. CF1088F Ehab and a weird weight formula(树上最优性问题、贪心+倍增)
  8. 背景图处理,这是个好东西记录一下
  9. C# winform 上传文件 (多种方案)
  10. Spring security UserDetailsService autowired注入失败错误
  11. 网站通过了QQ安全认证了
  12. 考清华计算机研究生数学看什么,一位考上清华计算机研究生的悲壮历程(数学考了满分).doc...
  13. Centos 7 环境下,如何使用 Apache 实现 SSL 虚拟主机 双向认证 的详细教程:
  14. 数据分析常用的7大思维方法详解
  15. MySQL驱动jar包的下载--保姆教程
  16. [技巧]如何绕过MaxtoCode的15天限制
  17. 在QT下使用映美精黑白相机
  18. 入职体检的体检项目有哪些呢?
  19. java全国二级考点,java计算机全国二级考试时间
  20. Vue -- vue-router(路由)的基本使用

热门文章

  1. 【金猿案例展】中新天津生态城——智慧城市产业大脑系统建设
  2. Step1 :【C51】LED灯闪烁、跑马灯、流水灯、实现每次亮两个灯的流水灯
  3. 渡月橋 ~君 想ふ~ - 倉木麻衣
  4. NBU OJ1211:一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。
  5. 蚂蚁上市:P7可获1200万元期权,酸酸酸酸酸...
  6. 微软校招编程题Beautiful String的状态机解法
  7. 微软校招面试题3-15 (一道经典算法,一道比较难的题目)
  8. Nvidia-docker2 for ubuntu18.04初试!
  9. Kill Math: 让数学不只是符号
  10. 为什么专用服务器要选择至强Xeon系列的处理器呢?