私は数百万のキーを持つredisデータベースを持っています。場合によってはパターンでキーを照会する必要があります。私がscan
を使用している2016-04-28:*
。最初の呼び出しは、redis scanは空の結果を返しますが、ゼロ以外のカーソルを返します
scan 0 match 2016-04-28:*
でなければなりません。検索が完了すると、それは一連のキーと次のカーソルまたは0を返します。
しかし、クエリを実行して一致するキーがない場合、scan
はまだゼロ以外のカーソルを返しますが、空のキーセットを返します。これは、連続したすべてのクエリに起こり続けるので、検索は本当に長い間終了していないようです。
Redisのドキュメントは
SCAN家族の機能は、呼び出しごとに返された要素の数が一定の範囲内にあることを保証するものではありませんと言います。 コマンドはゼロ要素も返すことができます。クライアントは、返されたカーソルがゼロでない限り、繰り返しの完了を考慮しないでください。
だから私は空のセットを取得することができません。
私は物事をスピードアップできる方法はありますか?