Socket
Book a DemoInstallSign in
Socket

redis-scanstreams

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

redis-scanstreams

A streaming interface to the Redis SCAN (SCAN, SSCAN, HSCAN, ZSCAN) commands in Redis 2.8.x+

latest
npmnpm
Version
1.0.3
Version published
Weekly downloads
310
5.8%
Maintainers
1
Weekly downloads
 
Created
Source

redis-scanstreams

NPM

david-dm david-dm

Provides a streaming interface to the Redis *SCAN commands.

Replaces the SCAN, SSCAN, HSCAN, and ZSCAN methods on the node_redis client with streaming versions.

You can read more about SCAN here.

Example: Use with terminus

var redis = require("redis")

// replace the methods for any clients
require("redis-scanstreams")(redis)

var client = redis.createClient()
var tail = require("terminus").tail

client.scan()
  .pipe(tail({objectMode: true}, console.log))

Example: Use with stream-to-array

You can use stream-to-array to concatenate the Redis scan results into a single array.

var redis = require("redis")

// replace the methods for any clients
require("redis-scanstreams")(redis)

var client = redis.createClient()
var toArray = require('stream-to-array')

toArray(client.scan(), function(err, arr) {
  if (err)
    throw err;

  console.log(arr)
})

API

scanStreams(redis_library)

Replaces the *SCAN methods in the provided library. Assumes node_redis or a library that similarly exposes the RedisClient type which has the *SCAN methods.

client.scan(options)

Calls the scan command, walking the cursor through the entire keyspace. Returns a stream.Readable containing the Redis keyspace.

Options:

  • pattern: the pattern to match keys against
  • count: how many (max estimate) records to return per batch

e.g.

client.scan({pattern: "key:*", count: 1000})

client.sscan(key, options)

Calls the sscan command on key key. Key must be a Redis Set. Options are identical to SCAN. Provides a stream.Readable containing set members.

client.hscan(key, options)

Calls the hscan command on key key. Key must be a Redis Hash. Options are identical to SCAN. Provides a stream.Readable containing hash key/value pairs, i.e.:

[
  {key: "hash_key_1", value: "value at hash_key_1"},
  {key: "hash_key_2", value: "value at hash_key_2"},
  ...
]

client.zscan(key, options)

Calls the zscan command on key key. Key must be a Redis Zset. Options are identical to SCAN. Provides a stream.Readable containing hash member/score pairs, i.e.:

[
  {key: "zset_member_1", value: "score for zset_member_1"},
  {key: "zset_member_2", value: "score for zset_member_2"},
  ...
]

LICENSE

MIT

Keywords

redis

FAQs

Package last updated on 17 Apr 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts