Description
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:
@vicenterusso/n8n-nodes-redis-enhanced - Click Install
- Restart n8n
Manual Installation
npm install @vicenterusso/n8n-nodes-redis-enhanced
Operations
Redis Enhanced provides 35 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
π― 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
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 31+ 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
- 31 passing tests across all operations
- 42.97% code coverage with detailed branch coverage
- Infrastructure testing (connection, client setup)
- Operation testing (all 35 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.1.0 (Current)
- Initial Release with 35 Redis operations
- Comprehensive Testing – 31 tests, 42.97% 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)
- β 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/vicenterusso/n8n-nodes-redis-enhanced