You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-09 00:22:08 +03:00
Merge pull request #775 from jeremiahlee/master
Added example of a Redis SCAN command
This commit is contained in:
36
examples/scan.js
Normal file
36
examples/scan.js
Normal file
@@ -0,0 +1,36 @@
|
||||
var redis = require("redis"),
|
||||
client = redis.createClient();
|
||||
|
||||
var cursor = '0';
|
||||
|
||||
function scan() {
|
||||
client.scan(
|
||||
cursor,
|
||||
"MATCH", "q:job:*",
|
||||
"COUNT", "10",
|
||||
function(err, res) {
|
||||
if (err) throw err;
|
||||
|
||||
// Update the cursor position for the next scan
|
||||
cursor = res[0];
|
||||
|
||||
// From <http://redis.io/commands/scan>:
|
||||
// "An iteration starts when the cursor is set to 0,
|
||||
// and terminates when the cursor returned by the server is 0."
|
||||
if (cursor === '0') {
|
||||
return console.log('Iteration complete');
|
||||
} else {
|
||||
// Remember: more or less than COUNT or no keys may be returned
|
||||
// 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) {
|
||||
console.log('Array of matching keys', res[1]);
|
||||
}
|
||||
|
||||
return scan();
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
Reference in New Issue
Block a user