zoukankan      html  css  js  c++  java
  • 使用过 Redis 做异步队列么,你是怎么用的?

    一般使用 list 结构作为队列,rpush 生产消息,lpop 消费消息 lpop 没有 

    消息的时候要适当 sleep 一会再重试

    如果对方追问可不可以不用 sleep

    list 还有个指令叫 blpop,在没有消息的时候它会阻塞住直到消息到来如果对 

    方追问能不能生产一次消费多次呢使用 pub/sub 主题订阅者模式可以实现 

    1:N 的消息队列

    如果对方追问 pub/sub 有什么缺点

    在消费者下线的情况下生产的消息会丢失得使用专业的消息队列如 RabbitMQ

    如果对方追问 redis 如何实现延时队列

    我估计现在你很想把面试官一棒打死如果你手上有一根棒球棍的话怎么问的这 

    么详细但是你很克制然后神态自若的回答道使用 sortedset,拿时间戳作为 

    score,消息内容作为 key 调用 zadd 来生产消息消费者用 zrangebyscore 指令 

    获取 N 秒之前的数据轮询进行处理到这里面试官暗地里已经对你竖起了大拇 

    但是他不知道的是此刻你却竖起了中指在椅子背后

  • 相关阅读:
    开发工具 内存,性能检测工具
    数据结构 二分法查找
    C语言 goto语句
    C语言 结构体中的零长度数组
    C语言 结构体(联合体)对齐规则
    C++ STL堆操作
    C语言 sscanf用法详解
    Sword 内核队列二
    Sword 内核队列一
    Sword libcurl回调函数相关知识
  • 原文地址:https://www.cnblogs.com/programb/p/12819439.html
Copyright © 2011-2022 走看看