Add SCAN command

This commit is contained in:
Pieter Noordhuis
2012-07-09 01:00:26 -07:00
committed by antirez
parent 85f52ebcd8
commit 7f490b197f
6 changed files with 251 additions and 0 deletions

View File

@ -761,4 +761,58 @@ start_server {tags {"basic"}} {
r keys *
r keys *
} {dlskeriewrioeuwqoirueioqwrueoqwrueqw}
test "SCAN basic" {
r flushdb
r debug populate 1000
set cur 0
set keys {}
while 1 {
set res [r scan $cur]
set cur [lindex $res 0]
set k [lindex $res 1]
lappend keys $k
if {$cur == 0} break
}
set keys [lsort -unique [concat {*}$keys]]
assert_equal 1000 [llength $keys]
}
test "SCAN COUNT" {
r flushdb
r debug populate 1000
set cur 0
set keys {}
while 1 {
set res [r scan $cur count 5]
set cur [lindex $res 0]
set k [lindex $res 1]
lappend keys $k
if {$cur == 0} break
}
set keys [lsort -unique [concat {*}$keys]]
assert_equal 1000 [llength $keys]
}
test "SCAN PATTERN" {
r flushdb
r debug populate 1000
set cur 0
set keys {}
while 1 {
set res [r scan $cur pattern "key:1??"]
set cur [lindex $res 0]
set k [lindex $res 1]
lappend keys $k
if {$cur == 0} break
}
set keys [lsort -unique [concat {*}$keys]]
assert_equal 100 [llength $keys]
}
}