sscan
SSCAN
Redis 開発者教育の申込
|
Redis 定期点検/技術サポートRedis Technical Support |
Redis エンタープライズサーバーRedis Enterprise Server |
|---|
メンバー(member)を一定件数ずつ照会
使い方は sscan key cursor です。
SMEMBERSは一度にすべてのメンバーを照会するのに対し、SSCANは一度に約10件ずつ照会します。
メンバーが多い場合は次のカーソル(cursor)を指定して繰り返し照会します。
SMEMBERSはメンバー数が多いと処理時間が長くかかり、その間サーバーが止まったように見えます。
その代替として登場したのが SSCAN です。
すべて照会し終えると next cursor は 0 です。
Example
| コマンド> | sadd myset A1 A2 A3 B1 B2 B3 C1 C2 C3 D1 D2 D3 E1 E2 E3 |
| 結果> | 15 |
| コマンド> | sscan myset 0 |
| 結果> | next cursor -> 11 0) E1 1) A2 2) C2 ... 10) B1 |
| コマンド> | sscan myset 11 |
| 結果> | next cursor -> 0 0) A1 1) D1 2) C3 3) C1 |
count を使用可能
使い方は sscan key cursor count 20 です。
照会されるメンバー数は指定した count と常にぴったり一致するわけではありません。処理時間を考慮して件数を調節します。
Example
| コマンド> | sscan myset 0 count 20 |
| 結果> | next cursor -> 0 0) E1 1) A2 2) C2 ... 14) C1 |
pattern を使用可能
使い方は sscan key cursor match pattern です。
GLOB style の pattern です。
Example
| コマンド> | sscan myset 0 match B* |
| 結果> | next cursor -> 0 0) B3 1) B2 2) B1 |
構文
SSCAN key cursor [MATCH pattern] [COUNT count]
- このコマンドは version 2.8.0 から使用できます。
- 時間計算量は、1回の実行ごとに O(1) です。
| 関連コマンド | SMEMBERS |
| Clients for Java | Jedis, Lettuce, Redisson | Clients for C | Hiredis |
| << SRANDMEMBER | SSCAN | SORTED SETS Introduction >> |
|---|
Email
返事がかかってなれば、メールでお知らせします。
