27

gevent で redis-py ライブラリを使用できますか?

gevent で redis-py ライブラリを実行した経験のある人はいますか? 実際の例はありますか?

彼らは一緒に仲良く遊んでいますか?それらを大規模に機能させるための予防策やハックはありますか?

別の言葉での質問:

gevent greenlets を使用する redis-py 接続を作成するには、monkeypatch ソケット以外に何か特別なことをする必要がありますか?

from gevent import monkey

monkey.patch_all()

通常どおり redis-py を使用しますか?

4

1 に答える 1

22

はい、redis-py は gevent で正常に動作します。

次の質問に対する私の回答を確認してください。例といくつかのコメントがあります。

redis + gevent - パフォーマンスが悪い - 何が間違っているのでしょうか?

主な落とし穴は、gevent が非同期であり、ソケットがモンキーパッチされているため、Redis へのラウンドトリップのコストが魔法のように消えることを考慮することです。これは明らかに間違っています。

gevent は、イベント ループ システム コールを因数分解できるように、同時に複数の接続が使用される場合に主に興味深いものです。ユーザー コードが少数の接続で Redis への同期ラウンドトリップを大量に生成する場合、これらの接続が gevent によって非同期で管理されている場合でも、遅延が発生します。

そのため、gevent を使用する場合でも、通信コストを最適化するために常にパイプラインを使用する必要があります。

于 2012-06-07T10:08:23.727 に答える