Registry / database / refreshing-config-redis

refreshing-config-redis

JSON →
library0.1.0jsnpmunverified

A Redis backend for the refreshing-config dynamic configuration library by Microsoft. Current stable version 0.1.0 enables storing configuration values in Redis hashmaps with change notification via Redis pub/sub channels, allowing synchronized configuration across multiple machines. This library is designed for Node.js applications using refreshing-config. It requires explicit instantiation of a Redis client. As a minor release, breaking changes are unlikely but users should verify compatibility with refreshing-config and node_redis versions. Differentiators include a simple pub/sub mechanism and direct integration with Microsoft's refreshing-config library.

npm install refreshing-config-redis
INSTALL
IMPORT
SIG · REFRESHING-CONFIG-
R
refreshing-config-redis
databasejavascriptv0.1.0
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.

RedisConfigStore
const { RedisConfigStore } = require('refreshing-config-redis')
const RedisConfigStore = require('refreshing-config-redis')
Named export, not default.
RedisPubSubRefreshPolicyAndChangePublisher
const { RedisPubSubRefreshPolicyAndChangePublisher } = require('refreshing-config-redis')
const RedisPubSubRefreshPolicyAndChangePublisher = require('refreshing-config-redis').RedisPubSubRefreshPolicyAndChangePublisher
Direct named import is correct.
RefreshingConfigRedis
const RefreshingConfigRedis = require('refreshing-config-redis')
import RefreshingConfigRedis from 'refreshing-config-redis'
CommonJS module, not ES6.

Shows how to set up a dynamic configuration with Redis backend using refreshing-config-redis, including initializing Redis client, store, and pub/sub.

const redis = require('redis'); const RefreshingConfig = require('refreshing-config'); const { RedisConfigStore, RedisPubSubRefreshPolicyAndChangePublisher } = require('refreshing-config-redis'); const redisClient = redis.createClient({ url: process.env.REDIS_URL || 'redis://localhost:6379' }); const configName = 'my-config'; const channelName = `${configName}-channel`; const configStore = new RedisConfigStore(redisClient, configName); const config = new RefreshingConfig.RefreshingConfig(configStore) .withExtension(new RedisPubSubRefreshPolicyAndChangePublisher(redisClient, channelName)); async function main() { await config.set('foo', 'bar'); const val = await config.get('foo'); console.log(val); redisClient.quit(); } main().catch(console.error);
Debug
Known issues
breakingRequires manual Redis client creation; incompatible with Redis 4+ client if using legacy factory
fix
Use redis.createClient(options) as shown in docs or upgrade to compatible client version.
affects: >=0.1.0
deprecatedThe entire refreshing-config ecosystem is unmaintained since 2019; consider alternatives like node-config or dotenv
fix
Migrate to actively maintained configuration libraries.
affects: >=0.0.0
gotchaPub/sub channel name must match the pattern; uses Redis hashmaps which require separate field management
fix
Ensure channel name is derived from configuration name as shown.
affects: >=0.1.0
gotchaNo built-in error handling for Redis connection failures; application may hang
fix
Add error event listeners on redisClient.
affects: >=0.1.0
gotchaConfiguration names must be unique Redis keys; collisions cause unexpected behavior
fix
Use namespaced or prefixed configuration names.
affects: >=0.1.0
Errors
Common errors & fixes
TypeError: RefreshingConfigRedis.RedisConfigStore is not a constructor
Incorrect import: using default import instead of destructured named import
fix
Use const { RedisConfigStore } = require('refreshing-config-redis')
Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED
Redis server not running or wrong host/port
fix
Start Redis server or set REDIS_URL environment variable.
TypeError: config.set is not a function
Missing RefreshingConfig wrapper; config object is a store, not the config class
fix
Ensure you use new RefreshingConfig(store) and then call set on that instance.
Upgrade
Version history
0.1.0latest on npm
Audit
Dependencies
refreshing-configrequiredcore configuration library required
redisrequiredRedis client needed to connect to Redis server
Agent activity
5 hits · last 30 days
node
4
Meta
1
Resources
refreshing-config-redis — npm install refreshing-config-redis · libregistry