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.
Related Reading
Guides and comparisons from the Greptile content library
Guide to Self-Hosted AI Code Review for GitLab and GitHub Enterprise [2026]
How self-hosted AI code review works on GitLab Self-Managed and GitHub Enterprise Server, how it compares to SaaS review tools, what to look for in a self-hosted tool, and what a self-hosted rollout actually takes.
How Greptile Uses Infisical for Secrets Management
How Greptile uses Infisical to keep every secret in one store and let its AI review agents call customer services without ever holding the credentials.
Best Security-Focused AI Code Review Tools [2026 Guide]
The six best security-focused AI code review tools, compared on SAST, SCA, DAST, and full-repo context, so you can pick the one that fits your codebase and your cycle times.
Flaky Tests: What Is a Flaky Test and How Do You Manage Them?
What flaky tests are, what causes them, how to detect them, and 12 ways to fix them. Plus why end-to-end tests are more prone to flakiness, and how seeing what actually happened during a run helps you tell a test problem from a code problem.