redisハッシュ(doc)で「ページング」する方法が見つかりませんでした。redisハッシュのエントリをページングする
私は1つのredis dbで約5百万のハッシュエントリを持っています。私は、エントリキーのリストを作成することに頼ることなく、すべてを繰り返し処理しようとしています。
これを達成できますか?
redisハッシュ(doc)で「ページング」する方法が見つかりませんでした。redisハッシュのエントリをページングする
私は1つのredis dbで約5百万のハッシュエントリを持っています。私は、エントリキーのリストを作成することに頼ることなく、すべてを繰り返し処理しようとしています。
これを達成できますか?
すべてのredisハッシュコマンドにはkey要素が必要です。あなたのハッシュをページするためにあなたのキーのセットを格納する必要があります。
追加セットを使用してキーの繰り返しを行う例については、私の答えはthis questionです。
余分なセット(またはリスト)の格納を避け、膨大な数のキーに繰り返し実行する方法はありません。 KEYSコマンドはオプションではありません。
私はちょうどRedis Hash Paginationと同じ要求を持っていました。はい、HSCANコマンドを使ってredisハッシュでページすることは可能です。同じ詳細な文書はSCANにあります。
使用法:Hscan <your key/hash name> <cursor-id> count <page-size>
。
最初に渡す必要のあるカーソルIDは0で、cursor-id
およびデータはpage-size
です。後続のデータをフェッチするために、返されるカーソルIDを後続の呼び出しで渡す必要があります。