redis/hiredis

Minimalistic C client for Redis >= 1.2

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 13 minutes ago
Added to GitGenius on September 9th, 2026
Created on May 18th, 2010
Open Issues & Pull Requests: 85 (+0)
GitHub issues: Enabled
Number of forks: 1,854
Total Stargazers: 6,684 (+0)
Total Subscribers: 281 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 7.4 hours
Mean response time: 105.0 days
90th percentile: 57.3 days
Tracked items: 33

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 11% of issues opened in the past year have been closed. Three people close 82% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 12
New in 7 days: 0
Closed in 7 days: 1
Avg open age: 333 days
Stale 30+ days: 6
Stale 90+ days: 5

Recent activity

Opened in 7 days: 0
Closed in 7 days: 1
Comments in 7 days: 0
Events in 7 days: 1

Top labels

  • feature (1)
  • maintenance (1)

Detailed Description

Hiredis is a minimalistic C client library for Redis that provides protocol support and command execution through a high-level printf-like API.

The library solves the problem of communicating with Redis from C applications by implementing the binary-safe Redis protocol. Rather than requiring explicit bindings for every Redis command, hiredis uses a printf-alike interface that works across all commands. The core design separates the reply parser from the I/O layer, creating a stream parser that can be reused in higher-level language bindings for efficient protocol parsing.

Hiredis suits projects that need direct C access to Redis without heavy abstraction layers. It works well for applications requiring minimal dependencies or those building language bindings where the decoupled parser can be leveraged. The library supports three distinct APIs: synchronous for blocking operations, asynchronous for non-blocking use, and a standalone reply parsing API. It maintains compatibility with Redis versions 1.2.0 and later through its binary-safe protocol implementation.

The project maintains active development with attention to protocol compliance and signal handling. Recent changes improved how the library handles interrupted system calls during connection establishment, retrying until the connection succeeds or the timeout is reached rather than immediately failing. The maintainers have introduced support for additional numeric types in protocol responses, including NaN values alongside infinity representations. Breaking changes across major versions reflect deliberate API refinement, such as renaming timeout configuration options for clarity and adjusting parameter types for consistency with modern C practices.