面试题答案
一键面试- 设置发布者:
- 连接到Redis服务器。例如在Python中使用
redis - py
库,代码如下:
import redis r = redis.Redis(host='localhost', port=6379, db = 0)
- 当有新闻发布时,使用
publish
方法发布新闻消息到指定频道。假设频道名为news_channel
,新闻内容为news_content
,代码如下:
r.publish('news_channel', news_content)
- 连接到Redis服务器。例如在Python中使用
- 设置订阅者:
- 同样连接到Redis服务器,以Python为例:
import redis r = redis.Redis(host='localhost', port=6379, db = 0)
- 创建订阅对象并订阅指定频道,例如:
p = r.pubsub() p.subscribe('news_channel')
- 循环监听消息,获取并处理接收到的新闻消息:
for message in p.listen(): if message['type'] =='message': news = message['data'] # 处理新闻,比如展示给用户等操作 print(f"Received news: {news}")
- 数据传递:
- 发布者通过
publish
方法将新闻数据发送到指定的频道。 - Redis服务器负责接收发布者的消息,并将其推送给所有订阅该频道的订阅者。
- 订阅者通过
listen
方法监听频道,一旦有新消息,就会从消息队列中获取并进行相应处理。
- 发布者通过