zoukankan      html  css  js  c++  java
  • Redis 消息队列的实现

    概述

    Redis实现消息队列有两种形式:

    1. 广播订阅模式:基于Redis的 Pub/Sub 机制,一旦有客户端往某个key里面 publish一个消息,所有subscribe的客户端都会触发事件
    2. 集群订阅模式:基于Redis List双向+ 原子性 + BRPOP

    Redis消息队列时,当Redis宕机后,消息可能会丢失(也要看持久化的策略)。如果收消息方未有重发和验证机制,Redis内的数据会出现丢失。所以,使用Redis的作为消息队列,通常是对于消息的准确性并非特别高的场景。

    原理

    1. 基于Redis的 List的队列性质:从Left插入元素,从Right Pop元素
    2. 原子性:避免并发线程不安全,比如LPush的时候、BRPOP的时候
    3. BRPOP:提升性能,保证及时性又降低无效请求的次数,类似于RocketMQ的长轮询Pull消息。如果不考虑性能的话,也可直接用RPOP命令
  • 相关阅读:
    Android 锁屏消息调研
    [GODOT]可复用移动组件(载具类)
    [GODOT]技能系统初探
    [GODOT]获取节点
    美丽的秋天
    生活
    day7.17
    html
    day 2015.6.08
    不会转载只能先留下网址了
  • 原文地址:https://www.cnblogs.com/wadhf/p/11799405.html
Copyright © 2011-2022 走看看