valkey-io/valkey

A flexible distributed key-value database that is optimized for caching and other realtime workloads.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 42 minutes ago
Added to GitGenius on September 3rd, 2024
Created on March 22nd, 2024
Open Issues & Pull Requests: 878 (+0)
Number of forks: 1,297
Total Stargazers: 26,959 (+0)
Total Subscribers: 128 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 11.8 hours
Mean response time: 20.5 days
90th percentile: 26.8 days
Tracked items: 1,084

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 77% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. 39% of tracked open issues have had no activity in three months. Only 3% of issues opened in the past year have been closed. Three people close 59% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 557
New in 7 days: 13
Closed in 7 days: 7
Avg open age: 263 days
Stale 30+ days: 476
Stale 90+ days: 362

Recent activity

Opened in 7 days: 11
Closed in 7 days: 6
Comments in 7 days: 12
Events in 7 days: 75

Top labels

  • enhancement (173)
  • test-failure (169)
  • bug (140)
  • client-changes-needed (59)
  • help wanted (55)
  • cluster (40)
  • major-decision-pending (39)
  • major-decision-approved (29)

Detailed Description

Valkey is a high-performance distributed key-value database optimized for caching and real-time workloads, written primarily in C. The project was forked from the open source Redis project immediately before Redis transitioned to new source available licenses. Valkey serves as a flexible alternative that maintains compatibility with Redis while operating under different licensing terms.

The core functionality of Valkey centers on providing a data structure server that handles key-value workloads efficiently. It supports a wide range of native data structures and includes an extensible plugin system that allows developers to add new data structures and access patterns. The system is designed to deliver high performance for caching scenarios and other real-time applications where fast data access is critical.

Valkey demonstrates broad platform support, compiling successfully on Linux, macOS, OpenBSD, NetBSD, and FreeBSD across both big-endian and little-endian architectures, supporting both 32-bit and 64-bit systems. The build system offers extensive customization options, including TLS support that can be compiled as either a built-in feature or as a module, experimental RDMA support for high-performance networking, systemd integration, and optional Lua engine inclusion. The project also supports an experimental CMake build system alongside its traditional Makefile approach.

The repository includes comprehensive testing infrastructure with separate test suites for unit tests, module API tests, Sentinel integration tests, and Cluster integration tests. Performance monitoring is a priority, with Valkey Performance Dashboards providing consolidated views of throughput trends across versions and an Unstable Branch Dashboard tracking performance metrics for all commits in the development branch.

The project provides detailed build documentation covering dependency management, memory allocator selection between libc and jemalloc, monotonic clock configuration using processor instruction clocks for improved performance, and troubleshooting guidance for 32-bit builds. Installation options range from simple binary installation to production-ready setup scripts for Ubuntu and Debian systems that configure init scripts and configuration files.

Valkey maintains Redis compatibility through symlinks created during installation, allowing existing Redis tools and workflows to function with Valkey binaries. The repository is classified across multiple security and technology domains including encryption, key management, authentication, data protection, and blockchain-related categories, reflecting its use in security-sensitive applications and its relevance to modern distributed systems architecture.