You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-04 15:02:09 +03:00
Clarified COUNT's behavior. scan() now will run until cursor reaches 0.
This commit is contained in:
@@ -15,19 +15,21 @@ function scan() {
|
|||||||
cursor = res[0];
|
cursor = res[0];
|
||||||
|
|
||||||
// From <http://redis.io/commands/scan>:
|
// From <http://redis.io/commands/scan>:
|
||||||
// An iteration starts when the cursor is set to 0,
|
// "An iteration starts when the cursor is set to 0,
|
||||||
// and terminates when the cursor returned by the server is 0.
|
// and terminates when the cursor returned by the server is 0."
|
||||||
if (cursor === '0') {
|
if (cursor === '0') {
|
||||||
return console.log('Iteration complete');
|
return console.log('Iteration complete');
|
||||||
} else {
|
} else {
|
||||||
// Remember, more keys than COUNT or no keys may be returned
|
// Remember: more or less than COUNT or no keys may be returned
|
||||||
// See http://redis.io/commands/scan#the-count-option
|
// See http://redis.io/commands/scan#the-count-option
|
||||||
|
// Also, SCAN may return the same key multiple times
|
||||||
|
// See http://redis.io/commands/scan#scan-guarantees
|
||||||
|
|
||||||
if (res[1].length > 0) {
|
if (res[1].length > 0) {
|
||||||
return console.log('Array of matching keys', res[1]);
|
console.log('Array of matching keys', res[1]);
|
||||||
} else {
|
|
||||||
// No keys were returned in this scan, but more keys exist.
|
|
||||||
return scan();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return scan();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
Reference in New Issue
Block a user