On this page
Overview
ioredis is a full-featured Redis client for Node.js. It supports regular connections together with Cluster, Sentinel, Streams, Pub/Sub, pipelining, Lua scripting, TLS, ACLs, and auto-pipelining through one client API.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Use Redis Cluster, Sentinel, and pipelines through one client
Cluster and Sentinel support, pipelines and auto-pipelining, offline queues, and ready checks cover production Redis patterns beyond basic GET and SET operations.
Sources: [1]
Use Streams, Pub/Sub, Lua, and binary data from Node.js
The client supports Streams, Pub/Sub, custom Lua commands, binary data, GEO commands, ACLs, and both Promise and callback APIs.
Sources: [1]
Best fit
Fits long-running Node.js backends that connect directly to Redis over TCP
It works well for persistent Node.js servers, including Next.js Node deployments and worker processes that need direct Redis connections. Serverless or edge deployments require separate connection-lifecycle and connection-limit review.
Sources: [1]
Before adoption
Version 6 requires Node 20+, defaults to RESP3, and is maintained on a best-effort basis
Version 6.0.0 requires Node.js 20 or newer and switches the default protocol to RESP3; use protocol: 2 when RESP2 compatibility is required. The README describes ioredis as stable with best-effort maintenance and recommends node-redis for new projects.
Official sources
- [1]ioredis v6.0.0 README(2026-10-06)
- [2]ioredis v6.0.0 release(2026-10-06)
- [3]ioredis v6.0.0 package metadata(2026-10-06)
Supplemental curator note
It fits persistent Node.js backends that connect directly to Redis. Review the RESP3 change in v6, connection lifecycle, Cluster/Sentinel topology, and best-effort maintenance policy.
Try it in 3 steps
- 1
Get the source
git clone --depth 1 https://github.com/redis/ioredis.git - 2
Enter the repository
cd ioredis - 3
Check the official steps
Continue with the commands in the README Installation, Quick Start, or Getting Started section.
find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
Growth
Growth trends · Last 30 days
15,344 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 26
- Open PRs
- 32
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- redis
- redis-cluster
- redis-client
- redis-sentinel
- typescript
- redis-module
- nodejs
- Stars
- 15,344
- Forks
- 1,259
- Watchers
- 159
- Open issues
- 159
- Contributors
- 191
- Owner type
- Organization
- Primary language
- TypeScript
- License
- MIT
- Repository last updated
- Oct 5, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Tabularis5,115 Stars
2 shared tag(s) · 2 shared category(s) · Same language
combine SQL editing, notebooks, database plugins, and MCP in one desktop workspace
TypeScript - Neon23,172 Stars
2 shared tag(s) · 2 shared category(s)
Decouple PostgreSQL compute from storage for branching and elastic database workflows
Rust - BullMQ9,475 Stars
5 shared tag(s) · 1 shared category(s) · Same language
separate queues and workers to persist background jobs, retries, schedules, and flows for Node.js backends
TypeScript - Upstash Redis JS975 Stars
4 shared tag(s) · 1 shared category(s) · Same language
connect to Redis over HTTP/REST from Next.js, edge, and serverless runtimes
TypeScript - Redis76,590 Stars
4 shared tag(s) · 1 shared category(s)
Run caching, search, vectors, and Streams on one low-latency data platform
C - Kysely14,261 Stars
3 shared tag(s) · 2 shared category(s) · Same language
keep SQL structure visible while using TypeScript inference for safe queries and result types
TypeScript
Report incorrect information
Tell us if any listing information is incorrect or outdated.