ioredis: Redis client library for Node.js
Robust TypeScript Redis client supporting clusters and Sentinel.
Learn more about ioredis
ioredis is a Redis client library for Node.js implemented entirely in TypeScript with native type declarations. It communicates with Redis servers using the RESP protocol and handles connection management, command queuing, and response parsing. The library supports multiple Redis deployment topologies including standalone instances, clusters, and sentinel-managed configurations. It is used in production environments and maintains compatibility with Redis versions 2.6.12 through current releases.
Native TypeScript Implementation
Written entirely in TypeScript with official type declarations included in the package. Provides full type safety without installing separate @types packages or manual type configuration.
Automatic Cluster Management
Handles Redis Cluster and Sentinel topologies with built-in node discovery, failover detection, and slot management. Automatically reconnects and reroutes commands during topology changes without manual intervention.
Dual Async Patterns
Supports both Node.js callbacks and native promises for the same commands. Integrates with existing callback-based code while enabling modern async/await patterns without API duplication.
import Redis from 'ioredis';
const redis = new Redis();
await redis.set('user:1000', 'John Doe');
const userName = await redis.get('user:1000');
console.log(userName);
await redis.quit();This release fixes cluster reconnection for sharded subscribers and addresses replica slot handling in pipelines.
- –cluster: Cluster reconnect sharded subscribers
- –preserve replica slots on MOVED in pipelines
- –Revert preserve replica slots on MOVED in pipelines
This release makes client-side blocking timeouts opt-in rather than default behavior.
- –make client-side blocking timeouts opt-in
This release removes case-sensitivity in command handling, adds timeout support for blocking commands, and refactors sharded pub/sub.
- –remove unnecessary case-sensitivity when working with commands
- –add timeout blocking commands
- –cluster: refactor sharded pub/sub v5
Top in Backend & APIs
Related Repositories
Discover similar tools and frameworks used by developers
Supabase
PostgreSQL backend with auto-generated APIs and real-time subscriptions.
redis-py
High-performance Python Redis client with clustering, pipelines, and async operation support.
Gin
Fast HTTP router with JSON binding and middleware support.
PHPMailer
SMTP client and MIME message builder for PHP.
HikariCP
Zero-overhead JDBC connection pooling for production Java applications.