• Redis-消费模式


    一 . 两种模式简介

    • 发布消息通常有两种模式:队列模式(queuing)和发布订阅模式(qublish-subscribe)。队列模式中,consumers可以同时从服务端读取消息,每个消息纸杯其中一个consumer读到
    • 发布-订阅模式中消息被广播到所有的consumer中,topic中的消息将被分发到组中的一个成员中,同一组中的consumer可以在不同的程序中,也可以在不同的机器上。

    1.1.1 生产消费模式(队列模式),(案例生产包子,消费者消费先消费最新生产的)

     1 127.0.0.1:6379> lpush bao bao1
     2 (integer) 1
     3 127.0.0.1:6379> lpush bao bao2
     4 (integer) 2
     5 127.0.0.1:6379> lpush bao bao3
     6 (integer) 3
     7 127.0.0.1:6379> lrange bao 0 10
     8 1) "bao3"
     9 2) "bao2"
    10 3) "bao1"
    11 127.0.0.1:6379> lpush bao bao4
    12 (integer) 4
    13 127.0.0.1:6379> lpush bao bao6
    14 (integer) 5
    15 127.0.0.1:6379> rpop bao
    16 "bao1"
    17 127.0.0.1:6379> rpop bao
    18 "bao2"
    19 127.0.0.1:6379> rpop bao
    20 "bao3"
    21 127.0.0.1:6379> lrange bao 0 10
    22 1) "bao6"
    23 2) "bao4"
    24 127.0.0.1:6379> lpush bao bao7
    25 (integer) 3
    26 127.0.0.1:6379> lpush bao bao8
    27 (integer) 4
    View Code

    1.1.2 发布订阅模式

        Redis发布订阅(Pub/Sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接受消息

        Redis 客户端可以订阅任意数量的频道

    subscribe dd1 订阅给定的一个或者多个频道的信息                                        
    publish dd1 "haha af fadg gdsg" 将消息发送到指定的频道

    pubsub numsub dd1

    打印频道订阅者数量
    pubsub channels 显示订阅频道
    punsubscribe 退订多个频道
    unsubscribe 退订频道

    1.1.3 Redis 事务

      事务是一个单独的隔离操作:事务中的所有命令都会序列化,按照序列的执行。事务在执行过程中,不会被其他的客户端发送来的命令请求所打断

      原子性:事务中的命令要么全部执行,要么全部不执行

    执行过程

    • 开始事务
    • 命令入队
    • 执行事务
    siscare 取消事务,放弃执行事务模块内的所有命令
    exec 执行所有事务块内的命令
    multi 标记一个事务块的开始
    unwatch 取消watch命令对所有key的监视
    watch key key 监视一个或多个key,如果事务执行之前这个(或这些)key被其他命令所改动,那么事务将被打断

    作者:闫世成

    出处:http://cnblogs.com/yanshicheng

    联系:yans121@sina.com

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题或建议,请多多赐教,非常感谢。
  • 相关阅读:
    Winform自定义窗体样式,实现标题栏可灵活自定义
    肿瘤转录组数分析CRN:Cancer RNA-Seq Nexus
    TCGA系列--miRNA数据分析
    TCGA系列--甲基化神器mexpress
    R:reshape2包中的melt
    TCGA系列--GDCRNATools
    R软件中排序:sort(),rank(),order()
    TCGA系列--TCGA长链非编码RNA的可视化工具TANRIC
    记一次RabbitMQ解决分布式事务问题
    RabbitMQ整合Spring Booot【死信队列】
  • 原文地址:https://www.cnblogs.com/yanshicheng/p/9372222.html
Copyright © 2020-2023  润新知