素の Python Redis の scan_iter は遅い2024年03月27日 21時16分37秒

Redis で全てのキーを探すのに scan_iter を使う。これは、Redis を長い間ロックして、他の接続を締め出すの避けるため、細かくロックし、渡り歩くので遅い。

scan_iter は count と言う引数を取り、この時の最低返却キーの数を指定できる。この数を上げると、分割の作業を大きくするので、かなりの高速化が期待できる。scan_iter を避けるデータの置き方をすると、速度的には更に早くなる。

    redis.scan_iter(match="*", count=10000)

次回