redis基于发布订阅模式实现的生产消费者模式

基于发布订阅模式实现

一、发布订阅是什么?

		典型的消息传递模式之一

二、直接上代码

1、创建生产者

import time
import redis
import names

r = redis.StrictRedis(host="127.0.0.1", port=6379)
while True:
    time.sleep(2)
    random_name = names.get_full_name()
    x = r.publish("name", random_name)
    print(x, random_name)

其中发布接口返回值我们看下源码
在这里插入图片描述
很明显是订阅频道的消费者个数

3、创建消费者

import redis

r = redis.StrictRedis(host="127.0.0.1", port=6379)
ps = r.pubsub()  # 创建一个发布订阅对象
ps.subscribe("name")  # 订阅频道

while True:
    for item in ps.listen():  # 监听消息
        print(item)

都知道发布订阅模式不同于点对点,他的特征就是一条消息可以被多个消费者重复消费,所以我在本地创建了三个消费者
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值