Skip to content

SCAN

The SCAN command is used to incrementally iterate over the database keys.

Syntax

SCAN cursor [MATCH pattern] [COUNT count]

Parameters

  • cursor - Cursor, use 0 as cursor for the first iteration
  • pattern - Optional, matching pattern
  • count - Optional, specifies the number of keys to return per iteration, default value is 10

Return Value

An array list containing two elements:

  1. The new cursor for the next iteration
  2. An array containing all iterated elements

If the new cursor returns 0, it indicates that the iteration is complete.

Examples

Basic Iteration

redis> scan 0
1) "17"
2)  1) "key:12"
    2) "key:8"
    3) "key:4"
    4) "key:14"
    5) "key:16"
    6) "key:17"
    7) "key:15"
    8) "key:10"
    9) "key:3"
   10) "key:7"
   11) "key:1"

Continue Iteration Using Cursor

redis> scan 17
1) "0"
2)  1) "key:5"
    2) "key:18"
    3) "key:0"
    4) "key:2"
    5) "key:19"
    6) "key:13"
    7) "key:6"
    8) "key:9"
    9) "key:11"

Using MATCH Parameter

redis> scan 0 MATCH user:*
1) "0"
2)  1) "user:1"
    2) "user:2"
    3) "user:3"

Using COUNT Parameter

redis> scan 0 COUNT 5
1) "5"
2)  1) "key:1"
    2) "key:2"
    3) "key:3"
    4) "key:4"
    5) "key:5"

Released under the GPL-3.0 License.