SCAN

Redis 開発者教育の申込 Redis 定期点検/技術サポート
Redis Technical Support
Redis エンタープライズサーバー
Redis Enterprise Server

Key を一定単位の個数ずつ照会

使い方は scan cursor です。
KEYS は一度にすべての keys をスキャンして照会するのに対し、scan は一度に約 10 個ずつ照会します。
KEYS は key 数が多い場合に処理時間がかかり、その間ほかのコマンドを処理できません。そのため代替として出たのが SCAN です。
key が多ければ次のカーソル(cursor)を指定して繰り返して照会します。すべて照会した場合 next cursor は 0 です。
SSCAN, ZSCAN, HSCAN は key に属する member を照会するのに対し、SCAN は DB 内のすべての key を照会します。

Example

コマンド>scan 0
結果>next cursor -> 1024
0) key001
1) key002
2) key005
...
11) key021
コマンド>scan 1024
結果>next cursor -> 18944
0) key031
1) key022
2) key035
...
9) key151


MATCH key_pattern オプションの使用

使い方は scan cursor MATCH pattern です。
指定した key_pattern に合う key だけを照会します。
GLOB style pattern です。

Example

コマンド>scan 0 match key*
結果>next cursor -> 1024
0) key001
1) key002
2) key005
...
11) key021


COUNT count オプションの使用

使い方は scan cursor COUNT 10 です。
照会される key 数が指定した count と常にちょうど一致するわけではありません。処理時間を考慮して個数を調節します。

Example

コマンド>scan 0 count 10
結果>next cursor -> 1024
0) key001
1) key002
2) key005
...
11) key021


TYPE type オプションの使用

使い方は scan cursor TYPE string です。
TYPE を指定すると該当 type のキーだけを照会します。

Example

コマンド>scan 0 type string
結果>next cursor -> 1024
0) key001
1) key002
2) key005
...
11) key021


構文

SCAN cursor [MATCH pattern] [COUNT count] [TYPE type]

  • version 2.8.0 から使用できます。
    TYPE オプションは Redis-6.0.0 から使用できます。
  • 時間計算量は O(N) です。
関連コマンド KEYS, SSCAN, ZSCAN, HSCAN
Clients for Java Jedis, Lettuce, Redisson
Clients for C Hiredis

<< RM SCAN SORT >>

Email 返事がかかってなれば、メールでお知らせします。