2

Python クライアントの redis の NUMSUB コマンドに相当するものはありますか?

ドキュメントを調べたところ、そのチャネルのサブスクライバーの数を返す publish() メソッド自体以外は見つかりませんでした。ただし、加入者の数を事後的に知ることは、私にとってあまり役に立ちません。

4

2 に答える 2

3

redis-py のこれらの種類のユースケースのクリーンなラッパーはまだないようです。特定のチャネルのサブスクライバーを取得するために通常の redis コマンドを使用することになりました

r = redis.StrictRedis(**{
    'host': $WhateverHost,
    'port': 6379,
    })

pubsub = r.pubsub()
pubsub.subscribe('MyChannel:ID')
....
subscriber_count = r.execute_command('PUBSUB', 'NUMSUB', 'MyChannel:ID')
于 2015-08-05T12:57:04.653 に答える
1

StrictRedis 接続を使用してから、pubsub オブジェクトを作成できます。

pubsub(self, shard_hint=None) method of redis.client.StrictRedis instance
    Return a Publish/Subscribe object. With this object, you can
    subscribe to channels and listen for messages that get published to
    them.

rc = redis.StrictRedis()
ps = rc.pubsub()
ps.subscribe(channel)
numsub = ps.subscription_count

pubsub オブジェクトには、チャンネルを購読するためのメソッドと、チャンネルの購読者数を示す subscription_count というフィールドがあります。

于 2014-07-31T18:32:38.190 に答える