gpt4 book ai didi

python - 我想要一个像redis pubsub中的kafka client_id这样的功能

转载 作者:可可西里 更新时间:2023-11-01 11:23:07 25 4
gpt4 key购买 nike

难道redis没有kafka client_id这样的特性吗?

发布.py

r = redis.StrictRedis(host=host, port=port, db=0)
channel = r.pubsub()

for i in range(10):
print(r.publish("test", i))

print('end')

sub1.py

r = redis.StrictRedis(host=host, port=port, db=0)

p = r.pubsub()
p.subscribe('test')

# while True:
# message = p.get_message()
# if message:
# print("Subscriber: %s" % message['data'])

for z in p.listen():
print(z)

子2.py

r = redis.StrictRedis(host=host, port=port, db=0)

p = r.pubsub()
p.subscribe('test')

# while True:
# message = p.get_message()
# if message:
# print("Subscriber: %s" % message['data'])

for z in p.listen():
print(z)

sub1.py 结果是

{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'0'}
{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'1'}
{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'2'}
{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'3'}
{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'4'}
{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'5'}
{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'6'}
{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'7'}
{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'8'}
{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'9'}

sub2.py 结果为

{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'0'}
{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'1'}
{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'2'}
{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'3'}
{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'4'}
{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'5'}
{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'6'}
{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'7'}
{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'8'}
{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'9'}

我不想阅读其他订阅者订阅的行就好比kafka的client_id。

我要sub1.py的结果是

{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'0'}
{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'2'}
{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'4'}
{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'6'}
{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'8'}

我想要sub2.py的结果是

{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'1'}
{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'3'}
{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'5'}
{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'7'}
{'type': 'message', 'pattern': None, 'channel': b'test', 'data': b'9'}

我不想读取其他订阅者订阅的行。帮助我..

最佳答案

查看redis-streams及其“消费者群体”功能。

关于python - 我想要一个像redis pubsub中的kafka client_id这样的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57710666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com