alicebob/miniredis

Pure Go Redis server for Go unittests

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 33 minutes ago
Added to GitGenius on September 19th, 2026
Created on September 3rd, 2014
Open Issues & Pull Requests: 6 (+0)
GitHub issues: Enabled
Number of forks: 258
Total Stargazers: 3,621 (+0)
Total Subscribers: 28 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 1.3 hours
Mean response time: 63.5 days
90th percentile: 62.8 days
Tracked items: 44

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 4
New in 7 days: 1
Closed in 7 days: 1
Avg open age: 316 days
Stale 30+ days: 3
Stale 90+ days: 3

Recent activity

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

Top labels

No label distribution available yet.

Most active issues this week

Detailed Description

Miniredis is a pure Go Redis server implementation for use in unit tests.

The tool solves the problem of testing Redis-dependent code without requiring a full integration test setup or external Redis binaries. It implements a substantial portion of the Redis command set and provides a real TCP interface, allowing tests to interact with it as they would with an actual Redis server. Because the server runs in-process within the test, you can directly query values without routing through the server stack, and there are no external dependencies to manage in build pipelines.

Miniredis suits projects where you need to verify Redis interactions in unit tests but want to avoid the overhead of spinning up a real Redis instance. It works well for testing application logic that depends on Redis without converting those tests into integration tests. The tool implements most common Redis commands across strings, hashes, lists, sets, sorted sets, streams, pub/sub, transactions, and scripting, though some commands are only partially implemented. If your code uses Redis features outside this command set, you would need to verify coverage against the documented list before adopting it.

The project maintains a steady stream of commits addressing bug fixes and command implementations, with pull requests regularly merged to expand Redis compatibility. Development activity shows consistent attention to keeping the tool aligned with Redis behavior, including handling of edge cases in command implementations and TTL semantics specific to testing scenarios.