redis实现阻塞轮训队列
来源:互联网 发布:先导爱知 编辑:程序博客网 时间:2024/06/05 01:57
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 api文档
http://redisdoc.com/list/blpop.html
阅读全文
0 1
- redis实现阻塞轮训队列
- 用redis阻塞队列,实现消息传递
- Java5实现阻塞队列
- 实现阻塞队列
- C++阻塞队列实现
- Java5实现阻塞队列
- Java 阻塞队列实现
- 自己实现阻塞队列
- java 之 阻塞队列实现
- Java阻塞队列的实现
- Java阻塞队列的实现
- Java阻塞队列的实现
- Java阻塞队列的实现
- Java阻塞队列的实现
- c++ 阻塞队列的实现
- Java阻塞队列的实现
- java 阻塞队列自定义实现
- 阻塞队列实现生产者消费者
- Python 批量删除文件夹下面指定类型的所有文件
- 计算机网络实验Programming实验
- spring-boot读取props和yml配置文件
- 判断输入金额,很完善
- jmeter环境变量的配置
- redis实现阻塞轮训队列
- 在东软
- 腾讯云ubuntu14.04.1-64 使用apt-get搭建lnmp ----WEB环境以及svn搭建及svn同步
- 艺库:一周彩铅画干货汇总!
- leetcode 48. Rotate Image
- 支付相关
- 斐波那契数列js解法之性能对比
- Hadoop系列-集群安装配置(二)
- SuperSet CentOs7安装部署