Registry / database / redis-collections

redis-collections

JSON →
library0.0.39jsnpmunverified

Abstraction layer for Redis providing collection-based views (Set, Map, SortedSet, IdTo* variants). Current stable version is 0.0.39, maintained on npm since 2016. Uses Promises and a Store wrapper around node_redis or fakeredis. Enables composite queries and ID-based operations instead of raw Redis commands. Differentiator: structured collections with templated keys (e.g., 'user:${userId}:settings') and batch query composition. Minimal dependencies: requires a Redis client (e.g., redis or fakeredis). Low release cadence (last update 2019).

npm install redis-collections
INSTALL
IMPORT
SIG · REDIS-COLLECTIONS
R
redis-collections
databasejavascriptv0.0.39
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Store
import { Store } from 'redis-collections'
const Store = require('redis-collections').Store
CommonJS require is still supported; named export.
RedisSet
import { RedisSet } from 'redis-collections'
const RedisSet = require('redis-collections/RedisSet')
Path-based imports may break; use package entry.
default
import redisCollections from 'redis-collections'
const redisCollections = require('redis-collections')
Default export is the module with all collections; named imports preferred.

Creates a Redis client, wraps it in a Store, defines a RedisSet, adds elements, and retrieves the sorted list.

import redis from 'redis'; import { Store, RedisSet } from 'redis-collections'; const client = redis.createClient(); const store = new Store(client); const numbers = new RedisSet('numbers'); await store.promise(numbers.add('one')); await store.promise(numbers.add('two')); const list = await store.promise(numbers.getList()); console.log(list); // ['one', 'two'] client.quit();
Debug
Known issues
gotchakeys() method may block Redis in production; use SCAN instead
fix
Avoid using collections that call KEYS; prefer scan-based iteration or explicit key patterns.
affects: >=0.0.0
deprecatednode_redis dependency is outdated; use ioredis
fix
Replace redis client with ioredis (compatible via Store).
affects: >=0.0.0
breakingStore constructor requires a Redis client; passing null throws
fix
Always pass a valid client: new Store(redis.createClient())
affects: >=0.0.0
gotchaTemplate keys use $ not : prefix; 'user:${userId}:settings' is literal
fix
Use template literals: `user:${userId}:settings`
affects: >=0.0.0
Errors
Common errors & fixes
TypeError: store.promise is not a function
Store not instantiated correctly (missing 'new')
fix
const store = new Store(client);
RedisSet is not a constructor
Incorrect import or missing named import
fix
import { RedisSet } from 'redis-collections';
Upgrade
Version history
0.0.39latest on npm
Audit
Dependencies
redisoptionalRequired for actual Redis connection. Optional if using fakeredis.
Agent activity
8 hits · last 30 days
node
6
Meta
1
Resources
redis-collections — npm install redis-collections · libregistry