Skip to content

Instantly share code, notes, and snippets.

@tblobaum
Created July 22, 2012 13:19

Revisions

  1. tblobaum created this gist Jul 22, 2012.
    18 changes: 18 additions & 0 deletions rename-redis-keys.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,18 @@
    var Redis = require('redis-stream')
    , client = new Redis(6379, 'localhost', process.argv[2] || 0)
    , stream = client.stream()

    var keys = client.stream('keys')

    process.stdin
    .pipe(Redis.es.split())
    .pipe(keys)
    .pipe(Redis.es.mapSync(function (key) {
    var newkey = key.replace(/user_/, 'users::') // regex to rename key with
    return Redis.parse([ 'rename', key, newkey ])
    }))
    .pipe(stream.redis)
    .pipe(Redis.es.join('\r\n'))
    .pipe(process.stdout)

    console.log('enter a `keys` pattern, e.g. *')