zoukankan      html  css  js  c++  java
  • redis学习笔记05-发布订阅模式

    由于redis消息队列并不支持多播机制,即生产者产出一次,由中间件复制发送给多个消费者的机制,为了弥补这个不足,单独引入了发布订阅模式的模块。使用方式如下:

    #生产者
    
    import redis
    
    client = redis.StrictRedis()
    
    client.publish('ll','pythonbooks come')
    client.publish('ll','javabooks come')
    client.publish('ll','gobooks come')
    
    
    #消费者
    
    import redis
    
    client = redis.StrictRedis()
    p = client.pubsub()
    p.subscribe('ll')
    
    for msg in p.listen():
    	print(msg)
    
    

    使用时注意:

    • 必须要先启动消费者,才能启动生产者。
    • 消费者执行过程是阻塞的,会一直等待生产者的信息
    • 可以一次订阅多个key,可以用*符号作为通配符

    pubsub模式的缺点:

    • 断开连接的消费者重新连接时收不到断开时间内的消息。
    • 如果redis重新启动,pubsub消息无法持久化,相当于丢弃了所有消息。
      而解决这个缺点就需要使用一种新的数据结构stream。

    具体请转:
    redis-stream详解:http://www.redis.cn/topics/streams-intro.html

  • 相关阅读:
    win7下jdk安装环境变量配置
    !function($){}(window.jQuery)
    转载几篇
    YeeLink
    坑爹JDK8,可怜的XP
    一致性Hash
    CSS
    仿函数
    launch4j
    GOAL!!!!!!!!!!!!!
  • 原文地址:https://www.cnblogs.com/LLBoy/p/11549327.html
Copyright © 2011-2022 走看看