sql >> データベース >  >> NoSQL >> Redis

Python redis subscribeはすべてのデータを取得できませんか?

    redis-pyを使用していると思います。

    ドキュメントはlistenを参照しています 古いバージョンのライブラリとして...メッセージを読み取るために別の方法を使用する必要があるかもしれません。たとえば、コールバックを使用する

    p = r.pubsub()
    
    def my_handler(message):
        print 'MY HANDLER: ', message['data']
        if item['type'] == 'message':
             num += 1
             a.parser(item['data'])
             print num
    
    p.subscribe('bdwaf', my_handler)
    # read the subscribe confirmation message
    p.get_message()
    

    編集:

    20000メッセージを一度に公開すると、redisサーバーのメモリが不足している可能性があります。 redis.confでredisメモリを増やしてみてください ファイル

    maxmemory 500mb # or greater if needed
    

    これはメモリの問題です。処理方法の詳細については、この質問を確認してください。




    1. 大規模なETAを使用したセロリタスクのスケジューリング

    2. MongoDBでfeatureCompatibilityVersionを表示する方法

    3. MongoDBで$allを使用して配列値を照合するための複数の$elemMatch式?

    4. mongodbは実行されていますか?