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 秒之前的数据轮询进行处理到这里面试官暗地里已经对你竖起了大拇 

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

  • 相关阅读:
    1641. 统计字典序元音字符串的数目
    1688. 比赛中的配对次数
    核心思路
    面试题 16.17. 连续数列
    70. 爬楼梯
    面试题 08.01. 三步问题
    剑指Offer 42. 连续子数组的最大和
    设计模式之原型模式
    代理模式之动态代理
    设计模式之禅(六大设计原则)
  • 原文地址:https://www.cnblogs.com/programb/p/12819439.html
Copyright © 2011-2022 走看看