A Redis-compatible server and distributed cluster implemented in Go, designed as a high-concurrency middleware example.
Godis is a Redis server and cluster implementation written in Go. It provides full Redis protocol compatibility, supporting standalone and distributed cluster modes, and serves as a practical example of building high-concurrency middleware in Go.
Go developers and engineers looking to understand or build high-performance, concurrent middleware, particularly those interested in in-memory data stores, distributed systems, or Redis-compatible server implementations.
Developers choose Godis for its full Redis protocol support, high-concurrency design, and comprehensive feature set including persistence, transactions, and a Raft-based cluster with dynamic expansion and failover, all implemented in clean, modular Go code as an educational reference.
A Golang implemented Redis Server and Cluster. Go 语言实现的 Redis 服务器和分布式集群
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements a concurrent core optimized for performance under high load, with benchmarks showing over 150k requests per second for common operations like SET and GET.
Supports a wide range of Redis data structures and commands including strings, lists, hashes, sets, sorted sets, bitmaps, and GEO, ensuring compatibility with standard Redis clients.
Offers server-side clustering with Raft-based metadata management, enabling dynamic expansion, rebalancing, failover, and atomic cross-node operations like MSET and DEL.
Built with clear, modular Go code and detailed blog posts (in Chinese) that make it an excellent resource for learning high-concurrency middleware implementation.
Positioned as a practical example rather than a battle-tested product, it may lack the stability, optimization, and long-term support of official Redis in critical production deployments.
Key implementation details are linked to a Chinese blog, creating a barrier for non-Chinese speaking developers and limiting accessibility in the global open-source community.
Lacks the extensive ecosystem of official Redis, including mature client libraries, monitoring tools, and third-party integrations, which can increase development overhead.
Setting up cluster mode requires manual configuration files (e.g., node1.conf) and environment variables, adding setup complexity compared to Redis' more automated clustering tools.
godis is an open-source alternative to the following products: