Registry / database / cartodb-redis

cartodb-redis

JSON →
library3.0.1jsnpmunverified

A Node.js library for interacting with CartoDB metadata stored in Redis. Version 3.0.1 supports Node.js >=12.16.3 and npm >=6.14.4. It provides a straightforward API to access CartoDB-specific Redis structures, handling serialization and connection pooling internally. Unlike generic Redis clients, cartodb-redis knows the exact schema and provides methods like getInfo, set, and del for user, table, and visualization metadata. Maintained by CartoDB with moderate release cadence for compatibility.

npm install cartodb-redis
INSTALL
IMPORT
SIG · CARTODB-REDIS
C
cartodb-redis
databasejavascriptv3.0.1
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.

default
✓ import CartoDBRedis from 'cartodb-redis'
✗ const CartoDBRedis = require('cartodb-redis').default
Package ships a default CommonJS export; use default import in ESM or require directly.
Pool
✓ const Pool = require('cartodb-redis').Pool
✗ import { Pool } from 'cartodb-redis'
Pool is exported as a property of the module, not a named export. In CommonJS, require and destructure.
Pool
✓ import CartoDBRedis from 'cartodb-redis'; const Pool = CartoDBRedis.Pool;
✗ import { Pool } from 'cartodb-redis'
In ESM, the default export is the whole module object; access Pool as a property.

Initializes a CartoDB Redis client with environment-configured connection, fetches user metadata, and handles errors.

import CartoDBRedis from 'cartodb-redis'; const redisClient = new CartoDBRedis({ host: process.env.REDIS_HOST || 'localhost', port: parseInt(process.env.REDIS_PORT || '6379'), db: parseInt(process.env.REDIS_DB || '5') }); async function getUserInfo(username) { try { const info = await redisClient.getUserInfo(username); console.log('User info:', info); } catch (err) { console.error('Error fetching user info:', err); } finally { redisClient.end(); } } getUserInfo('testuser');
Debug
Known issues
gotchaCalling end() after each operation is required to release connections; failing to do so can exhaust the pool.
fix
Always call redisClient.end() after completing operations, or manage pool lifecycle properly.
affects: >=1.0.0
gotchaThe library uses a custom serialization format specific to CartoDB; manually inspecting raw Redis keys may lead to incorrect assumptions.
fix
Use the provided methods (getInfo, setInfo) instead of direct Redis commands.
affects: >=1.0.0
breakingVersion 2.0 changed the method signature for getUserInfo; now accepts an object instead of separate arguments.
fix
Update calls to pass an object with 'username' property instead of positional string.
affects: >=2.0.0 <3.0.0
Errors
Common errors & fixes
Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED
Redis server is not running or incorrect host/port.
fix
Ensure Redis is running and accessible via the configured host and port.
TypeError: redisClient.getUserInfo is not a function
Using CommonJS require with destructuring incorrectly.
fix
Use `const CartoDBRedis = require('cartodb-redis'); const client = new CartoDBRedis(...);`
Error: Cannot find module 'underscore'
Missing underscore dependency when using the library in an environment without automatic resolution.
fix
Run `npm install underscore` to add the peer dependency.
Upgrade
Version history
3.0.1latest on npm
Audit
Dependencies
redisrequiredUnderlying Redis client for connections and commands
underscorerequiredUtility library used for object manipulation
Agent activity
14 hits · last 30 days
node
12
OpenAI (training)
1
Resources
cartodb-redis — npm install cartodb-redis · libregistry