awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
redis avatar

redis/ioredis

0
View on GitHub↗
15,295 stars·1,228 forks·TypeScript·MIT·12 views

Ioredis

ioredis is a performance-focused Redis client for Node.js applications. It provides a comprehensive interface for interacting with Redis servers, including specialized clients for sharded clusters and Sentinel-based high availability environments.

The project distinguishes itself through advanced networking and execution capabilities, such as automatic event-loop pipelining to reduce overhead and a system for routing read-write traffic between primary and replica nodes. It also features a dedicated Lua scripting interface that allows server-side scripts to be registered as custom client commands.

The library covers a broad range of data management and communication patterns, including stream processing with consumer groups, real-time pub/sub messaging, and geospatial querying. It provides integrated support for atomic transactions, binary data handling, and vector similarity search, alongside security features like TLS encryption and ACL permission management.

Operational stability is supported through a retry-strategy state machine, offline command queuing, and incremental collection scanning to prevent server blocking.

Features

  • Redis Client Interfaces - Provides a comprehensive standard interface for manipulating Redis data structures like hashes, vectors, and streams.
  • Redis Clients - Provides a performance-focused Node.js client for interacting with Redis data stores and complex data types.
  • Cluster Request Routing - Maps keys to hash slots to route requests to the correct node in a sharded cluster.
  • Key Expiration Policies - Supports setting time-to-live values on keys to automatically manage data expiration and memory usage.
  • Redis Stream Processors - Implements client-side utilities for managing Redis streams and consumer groups in event-driven architectures.
  • Hash Field Management - Provides comprehensive support for manipulating field-value pairs in Redis hashes for complex object management.
  • Key-Value Stores - Stores and manipulates simple text or binary values with support for atomic increments.
  • Ordered Collection Management - Handles sequential lists of strings using push, pop, and positional retrieval operations.
  • Cluster Connectivity - Provides connectivity mechanisms for interacting with Redis clustered data stores using slot-based routing.
  • Sentinel Management - Integrates with Redis Sentinel to locate the current master node and handle automatic failover events.
  • Connection Modes - Supports flexible connection options for standalone instances or Sentinel high-availability groups.
  • Sharding Orchestration - Manages data distribution and partitioning across multiple shards to ensure connection stability.
  • Sorted Sets - Manages unique strings ordered by numerical scores to enable efficient ranking and range queries.
  • Unordered Unique Collection Management - Manages collections of unique strings with support for set intersections, unions, and differences.
  • Event-Loop Pipelining - Batches multiple commands issued in one event loop tick into a single network request.
  • Cardinality Estimation - Calculates approximate unique element counts in large sets using the HyperLogLog algorithm.
  • Command Pipelining - Queues multiple commands in memory and sends them in a single network round-trip to increase throughput.
  • Namespace Prefixing - Automatically prepends specified strings to keys to organize data into transparent namespaces.
  • Atomic Transactions - Groups multiple commands into atomic blocks to ensure sequential execution without interruption.
  • Database Key Scanning - Implements non-blocking cursor-based iteration for scanning database keys.
  • Geospatial Query Engines - Executes distance calculations and proximity searches using coordinate-based geospatial storage.
  • High Availability Architectures - Implements high availability architectures using Redis Sentinel for automatic failover and monitoring.
  • Incremental Collection Scanning - Implements cursor-based iteration to retrieve keys or members without blocking the Redis server.
  • Raw Command Execution - Allows sending raw command names and arguments directly to the Redis server.
  • Traffic Routing - Routes write operations to primary nodes and distributes read operations across replica nodes.
  • Redis Performance Tuning - Provides tools for reducing network latency and increasing throughput via pipelining and read-write splitting.
  • Server-Side Scripting - Executes custom Lua scripts on the server side for atomic, high-performance operations.
  • Cursor-based Iterators - Uses incremental cursors to retrieve large datasets in chunks to avoid blocking the Redis server.
  • Response Formatters - Converts raw server replies into application-specific data types before returning them to the user.
  • Script-Based Command Wrappers - Allows wrapping server-side scripts into reusable custom commands to simplify execution logic.
  • Automated Master Failovers - Coordinates automated master failover and replica transitions to maintain cluster uptime.
  • Message Stream Consumer Groups - Coordinates consumer groups for parallel and distributed processing of message streams.
  • Offline Buffering - Queues commands issued during network disconnections for automatic execution upon reconnection.
  • Pub-Sub Messaging - Provides asynchronous communication via publish and subscribe channels for real-time message delivery.
  • Topic Sharding - Distributes pub-sub channel messages across a cluster by mapping them to specific hash slots.
  • Automated Retry Strategies - Provides configurable retry strategies to automatically restore network connections after loss.
  • Retry Strategies - Implements configurable backoff policies and retry logic to restore network stability.
  • Offline Request Queues - Queues commands issued during a disconnection for automatic execution upon reconnection.
  • Response Serialization - Transforms raw network data from the server into preferred application-specific formats.
  • Node.js - Listed in the “Node.js 项目” section of the Great Open Source Project awesome list.

Star history

Star history chart for redis/ioredisStar history chart for redis/ioredis

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Ioredis

Similar open-source projects, ranked by how many features they share with Ioredis.
  • tporadowski/redistporadowski avatar

    tporadowski/redis

    9,987View on GitHub↗

    Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL database. It provides sub-millisecond read and write access to data stored in RAM and can operate as a vector database for indexing high-dimensional embeddings. The system supports a wide range of data storage and synchronization primitives, including the management of strings, hashes, lists, sets, and JSON documents. It enables real-time data operations through atomic transactions, hybrid persistence using snapshots and append-only logs, and high-availability configurations

    Credisredis-for-windowsredis-msi-installer
    View on GitHub↗9,987
  • luin/ioredisluin avatar

    luin/ioredis

    15,295View on GitHub↗

    ioredis is a performance-focused Redis client for Node.js designed to execute commands and manage data connections. It provides a specialized interface for interacting with standalone servers, sharded clusters, and high-availability setups. The library distinguishes itself with native support for Redis Cluster, featuring automatic slot discovery and network address mapping, and Redis Sentinel for master node discovery and automatic failover. It also includes a dedicated Lua scripting interface that utilizes server-side caching to ensure atomic operations. The project covers a broad set of ca

    TypeScript
    View on GitHub↗15,295
  • phpredis/phpredisphpredis avatar

    phpredis/phpredis

    10,219View on GitHub↗

    phpredis is a C-based native extension that bridges PHP applications with Redis servers for high-performance data storage and retrieval. It serves as an interface for manipulating strings, hashes, lists, sets, and sorted sets while providing a direct path for executing Redis commands and server-side scripts. The extension provides comprehensive support for distributed environments and high availability. It interfaces with Redis Cluster to distribute data across multiple nodes using hash slots and manages Redis Sentinel for service discovery and automatic failover. It also enables shared state

    Cclusterkeydbphp
    View on GitHub↗10,219
  • redis/go-redisredis avatar

    redis/go-redis

    22,159View on GitHub↗

    This project is a feature-rich Go client library designed for interacting with Redis. It serves as a comprehensive interface for managing remote data stores, enabling developers to execute standard database commands, handle complex data structures, and perform asynchronous operations within Go applications. The library distinguishes itself through its support for advanced Redis capabilities, including connection pooling, pipelining, and transactional integrity. It provides specialized primitives for managing distributed clusters, including automated topology updates and request routing to sha

    Gogogolangredis
    View on GitHub↗22,159
See all 30 alternatives to Ioredis→

Frequently asked questions

What does redis/ioredis do?

ioredis is a performance-focused Redis client for Node.js applications. It provides a comprehensive interface for interacting with Redis servers, including specialized clients for sharded clusters and Sentinel-based high availability environments.

What are the main features of redis/ioredis?

The main features of redis/ioredis are: Redis Client Interfaces, Redis Clients, Cluster Request Routing, Key Expiration Policies, Redis Stream Processors, Hash Field Management, Key-Value Stores, Ordered Collection Management.

What are some open-source alternatives to redis/ioredis?

Open-source alternatives to redis/ioredis include: tporadowski/redis — Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL… luin/ioredis — ioredis is a performance-focused Redis client for Node.js designed to execute commands and manage data connections. It… phpredis/phpredis — phpredis is a C-based native extension that bridges PHP applications with Redis servers for high-performance data… redis/go-redis — This project is a feature-rich Go client library designed for interacting with Redis. It serves as a comprehensive… apache/kvrocks — Kvrocks is a distributed key-value store and Redis-compatible NoSQL database. It utilizes a RocksDB storage engine to… apache/incubator-kvrocks — Kvrocks is a disk-based NoSQL database and distributed key-value store that leverages the RocksDB storage engine to…