Package Information
Documentation
n8n-nodes-redis-enhanced
This is an n8n community node that provides comprehensive Redis integration with enhanced operations for your n8n workflows.
Redis Enhanced extends the basic Redis functionality with 35+ operations including atomic operations, bulk operations, advanced data structures (sets, sorted sets, hashes), TTL management, Lua scripting, and pub/sub capabilities.
n8n is a fair-code licensed workflow automation platform.
Installation
Operations
Credentials
Compatibility
Usage
Development
Testing
Resources
Version History
Installation
Follow the installation guide in the n8n community nodes documentation.
Quick Install
- Open your n8n instance
- Go to Settings โ Community Nodes
- Enter the package name:
@rmichelena/n8n-nodes-redis-enhanced - Click Install
- Restart n8n
Manual Installation
npm install @rmichelena/n8n-nodes-redis-enhanced
Operations
Redis Enhanced provides 36 comprehensive operations organized by category:
๐ Basic Operations
- Get - Retrieve values from Redis with automatic type detection
- Set - Store values with atomic lock support (NX/XX modes) and TTL
- Delete - Remove keys from Redis
- Exists - Check if one or more keys exist
- Info - Get Redis server information and statistics
๐ฆ Bulk Operations
- Multi Get (MGET) - Retrieve multiple keys in a single operation
- Multi Set (MSET) - Set multiple key-value pairs atomically
- Scan - Production-safe key iteration with pattern matching
- Keys - Find keys matching patterns (with optional value retrieval)
๐ข String Operations
- Increment (INCR) - Atomic counter operations with optional TTL
- Append - Append values to existing strings
- String Length - Get the length of string values
- Get Set - Atomically set new value and return old value
๐ List Operations
- Push - Add elements to lists (left/right)
- Pop - Remove elements from lists (left/right)
- Blocking Pop Left (BLPOP) - Blocking pop from list start
- Blocking Pop Right (BRPOP) - Blocking pop from list end
- List Length - Get the number of elements in a list
- List Range (LRANGE) - Get a range of elements from a list
๐ฏ Set Operations
- Set Add (SADD) - Add members to sets
- Set Remove (SREM) - Remove members from sets
- Set Is Member (SISMEMBER) - Check set membership
- Set Cardinality (SCARD) - Get the number of set members
๐ Sorted Set Operations
- Sorted Set Add (ZADD) - Add scored members to sorted sets
- Sorted Set Range (ZRANGE) - Get ranges with optional scores
- Sorted Set Remove (ZREM) - Remove members from sorted sets
- Sorted Set Cardinality (ZCARD) - Get sorted set size
๐๏ธ Hash Operations
- Hash Length (HLEN) - Get number of hash fields
- Hash Keys (HKEYS) - Get all field names
- Hash Values (HVALS) - Get all hash values
- Hash Exists (HEXISTS) - Check if hash field exists
โฐ TTL Operations
- TTL - Get time-to-live for keys
- Persist - Remove expiration from keys
- Expire At - Set expiration at specific timestamp
๐ Advanced Operations
- Eval - Execute Lua scripts with key/argument support
- Publish - Publish messages to Redis channels
๐ Enhanced Features
- Atomic Operations - NX (set if not exists) and XX (set if exists) modes
- Bulk Processing - Space-separated input parsing for multiple keys/values
- Type Safety - Automatic type detection and conversion
- Error Handling - Comprehensive error handling with continue-on-fail support
- Production Ready - Optimized for high-performance production use
Credentials
To use Redis Enhanced, you need to set up Redis credentials in n8n:
Prerequisites
- A Redis server (local, cloud, or managed service like AWS ElastiCache, Redis Cloud, etc.)
- Network connectivity from n8n to your Redis instance
Authentication Setup
- In n8n, go to Credentials โ Create New
- Search for Redis Enhanced
- Configure the connection:
- Host: Your Redis server hostname or IP
- Port: Redis port (default: 6379)
- Database: Database number (default: 0)
- Password: Redis password (if AUTH is enabled)
- User: Redis username (for Redis 6+ ACL)
- SSL: Enable for TLS connections
Supported Authentication Methods
- No Authentication - For development/local Redis instances
- Password Authentication - Traditional Redis AUTH
- Username/Password - Redis 6+ ACL with user accounts
- TLS/SSL - Encrypted connections for production deployments
Compatibility
- Minimum n8n version: 1.0.0+
- Redis versions: 3.0+ (tested up to Redis 7.x)
- Node.js: 20.15+
- Tested with: n8n 1.x, Redis 6.x, Redis 7.x
Known Compatibility
- โ n8n Cloud: Fully compatible
- โ Self-hosted n8n: All versions 1.0+
- โ Docker deployments: Tested and verified
- โ Redis Cloud: Compatible with all major providers
- โ AWS ElastiCache: Full compatibility
- โ Redis Sentinel: Supported
- โ Redis Cluster: Basic operations supported
Usage
Basic Example: Caching API Responses
# Workflow: Cache expensive API calls
1. HTTP Request (API call)
2. Redis Enhanced (SET with TTL)
- Operation: Set
- Key: api:cache:{{$json.id}}
- Value: {{$json}}
- TTL: 300 seconds
Advanced Example: Atomic Counters
# Workflow: Rate limiting with atomic counters
1. Redis Enhanced (SET with NX)
- Operation: Set
- Key: rate_limit:{{$json.user_id}}
- Value: 1
- Set Mode: Set If Not Exists (NX)
- TTL: 3600 seconds
2. If key already exists โ Rate limit exceeded
Bulk Operations Example
# Workflow: Bulk data processing
1. Redis Enhanced (MGET)
- Operation: Multi Get
- Keys: user:1 user:2 user:3 user:4
2. Redis Enhanced (MSET)
- Operation: Multi Set
- Key-Value Pairs: updated:1 true updated:2 true
List Range Example
# Workflow: Paginated list retrieval
1. Redis Enhanced (LRANGE)
- Operation: List Range
- List: notifications:user:123
- Start Index: 0
- Stop Index: 9
# Returns first 10 elements (pagination)
Production Tips
- Use SCAN instead of KEYS for production key iteration
- Leverage atomic operations (NX/XX) for race condition prevention
- Set appropriate TTL values for cache invalidation
- Use bulk operations (MGET/MSET) for better performance
- Monitor operations with INFO for production insights
Development
Prerequisites
- Node.js 20.15+
- npm or yarn
- Redis server for testing
Setup
git clone https://github.com/vicenterusso/n8n-nodes-redis-enhanced.git
cd n8n-nodes-redis-enhanced
npm install
Build
npm run build # Build the node
npm run dev # Build in watch mode
npm run lint # Check code quality
npm run lintfix # Auto-fix linting issues
Testing
The project includes comprehensive test coverage with 36+ tests covering all operations:
npm test # Run all tests
npm run test:watch # Run tests in watch mode
npm run test:coverage # Run with coverage report
Test Coverage
- 36 passing tests across all operations
- 42.97% code coverage with detailed branch coverage
- Infrastructure testing (connection, client setup)
- Operation testing (all 36 operations)
- Error handling (continue-on-fail scenarios)
- Parameter validation (input validation)
Test Categories
- โ Connection Tests - Redis client setup and connectivity
- โ Basic Operations - GET, SET, DELETE, EXISTS, INFO
- โ Bulk Operations - MGET, MSET, SCAN, KEYS
- โ Advanced Operations - Atomic operations, TTL, Lua scripts
- โ Error Handling - Comprehensive error scenarios
- โ Type Safety - Input/output type validation
Resources
- n8n community nodes documentation
- Redis Documentation
- Redis Commands Reference
- n8n Workflow Templates
- Project Repository
Version History
v0.2.0 (Current)
- Enhanced Release with 36 Redis operations
- ๐ New LRANGE Operation - Read ranges of elements from Redis lists
- ๐ Fixed MGET Mixed Types - MGET now supports hash, list, set data types (not just strings)
- ๐งช Comprehensive Testing - 36 tests, improved coverage
- ๐ Updated Documentation - Complete API coverage with new examples
- ๐ง Production Ready - Atomic operations, bulk processing, robust error handling
What's New in v0.2.0:
- โ LRANGE Operation: Get ranges of elements from lists with start/stop indices
- โ MGET Type Detection: Automatic type detection for mixed data types (string/hash/list/set)
- โ Enhanced Testing: 36 comprehensive tests covering all operations
- โ Better Documentation: Updated examples and use cases
Bug Fixes:
- Fixed MGET returning null for hash keys - now properly retrieves hash data
- Improved error handling for individual key failures in MGET operations
v0.1.6 (Previous)
- Initial Release with 35 Redis operations
- Basic Testing - 33 tests, foundational coverage
- Production Ready - Atomic operations, bulk processing, error handling
- Enhanced Features - NX/XX modes, TTL management, Lua scripting
- Full Documentation - Complete API coverage and examples
Features Added:
- โ Basic operations (GET, SET, DELETE, EXISTS, INFO)
- โ Bulk operations (MGET, MSET, SCAN, KEYS)
- โ String operations (INCR, APPEND, STRLEN, GETSET)
- โ List operations (PUSH, POP, BLPOP, BRPOP, LLEN, LRANGE)
- โ Set operations (SADD, SREM, SISMEMBER, SCARD)
- โ Sorted set operations (ZADD, ZRANGE, ZREM, ZCARD)
- โ Hash operations (HLEN, HKEYS, HVALS, HEXISTS)
- โ TTL operations (TTL, PERSIST, EXPIREAT)
- โ Advanced operations (EVAL, PUBLISH)
- โ Atomic lock support (NX/XX modes)
- โ Comprehensive error handling
- โ Production deployment tools
Author: Vicente Russo Neto (vicente.russo@gmail.com)
License: MIT
Repository: https://github.com/rmichelena/n8n-nodes-redis-enhanced