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

redisで接続プールを適切に使用するにはどうすればよいですか?

    Redis-pyは、接続を取得できる接続プールを提供します。接続プールは、必要に応じて使用できる接続のセットを作成します(完了すると、接続は接続プールに戻され、さらに再利用されます)。接続を破棄せずにオンザフライで作成しようとすると(つまり、プールを使用していないか、プールを正しく使用していない)、(接続制限に達するまで)Redisに接続が多すぎます。

    initメソッドで接続プールを設定し、プールをグローバルにすることを選択できます(グローバルに慣れていない場合は、他のオプションを確認できます)。

    redis_pool = None
    
    def init():
        global redis_pool
        print("PID %d: initializing redis pool..." % os.getpid())
        redis_pool = redis.ConnectionPool(host='10.0.0.1', port=6379, db=0)
    

    次に、次のようにプールから接続を取得できます。

    redis_conn = redis.Redis(connection_pool=redis_pool)
    

    また、場合によってはパフォーマンスが向上するため、redis-pyと一緒にhiredisを使用していると想定しています。また、既存のセットアップでRedisサーバーに開いている接続の数も確認しましたか?これは、おそらく非常に多いためです。 INFOコマンドを使用して、その情報を取得できます。

    redis-cli info
    

    クライアントを確認します 「connected_clients」が表示されるセクション "その瞬間にredisサーバーに対して開いている接続の数を示すフィールド。



    1. oplog.rsのtsフィールドのインデックスは更新されません

    2. Hydra-CLIをパスワード保護redisサーバーに接続しますか?

    3. ApacheAvroを使用したApacheKafkaでのロバストなメッセージシリアル化、パート1

    4. MongoDB-プロジェクションクエリ