Skip to content
This repository has been archived by the owner on Aug 7, 2024. It is now read-only.
/ redis-key-scanner Public archive

Node.js utility to scan a redis server for keys matching specified criteria, including key patterns, TTL and IDLETIME.

Notifications You must be signed in to change notification settings

change/redis-key-scanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

redis-key-scanner

Scan a redis server for keys matching specified criteria, including key patterns, TTL and IDLETIME. Selected/matched keys are output in a JSON log format. The scan is non-destructive, and doesn't even read any actual key values.

Note that if you are checking TTL times, due to an acknowledged bug in Redis, this will actually reset the IDLETIME to 0 for the selected keys, so subsequent scans may not return the same results.

Example command-line usage, querying a locally running redis server for keys that start with the prefix "mykeys:" and have been idle (ie., not written or read) for at least one week:

> npm install -g redis-key-scanner
> redis-key-scanner localhost --pattern=mykeys:* --min-idle=1w

Output will be one JSON line per selected key, followed by a "summary" line with total stats:

{"name":"localhost:6379","key":"mykeys:larry","idletime":604800}
{"name":"localhost:6379","key":"mykeys:curly","idletime":900000}
{"name":"localhost:6379","key":"mykeys:moe","idletime":1000000}
{"keysScanned":17,"keysSelected":3,"host":"localhost","port":6379,"scanBatch":1000,"scanLimit":null,"limit":null,"pattern":"mykeys:*"}

You can alternatively require redis-key-scanner as a Node.js module, in which case it implements a stream interface and each record will be emitted as a separate 'data' event.

const RedisKeyScanner = require('redis-key-scanner');
const scanner = new RedisKeyScanner({
  host: 'localhost',
  pattern: 'mykeys:*',
  minIdle: '1w'
});
scanner.on('data', (data) => {
  console.log(data);
});
scanner.on('end', () => {
  // clean up
});

Run redis-key-scanner to see the full list of available options.

About

Node.js utility to scan a redis server for keys matching specified criteria, including key patterns, TTL and IDLETIME.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •