redis/redis
For developers, who are building real-time data-driven applications, Redis is the preferred, fastest, and most feature-rich cache, data structure server, and document and vector query engine.
How redis is put together
Redis Open Source is an in-memory, single-process, event-driven data structure server written primarily in C. The core (src/) implements a custom event loop (ae), RESP networking, command dispatch, and a rich set of in-memory data types (strings, lists, sets, hashes, sorted sets, streams, geo, HyperLogLog) with persistence via RDB snapshots and AOF logs, replication, Lua scripting/Functions, a C Modules API, cluster mode, Sentinel, ACLs, and TLS-secured connections. Auxiliary binaries built from the same tree include redis-cli, redis-benchmark, redis-check-aof/rdb, and sentinel; vendored third-party dependencies live under deps/. Tests are driven by Tcl-based runtest scripts, and utility tooling includes Ruby doc generation and Python-based request/response validation.
Languages
Frameworks
Datastores
Infrastructure
Major components
Event loop & networking
src/ae.c plus backend files (ae_epoll.c, ae_kqueue.c, ae_select.c, ae_evport.c), src/networking.c, src/anet.c, src/connection.c implement non-blocking I/O, client handling, and pluggable connection types (TCP/TLS).
Data types & storage
Implementations of core structures: dict, sds, listpack, quicklist, rax, intset, ebuckets, kvstore, t_hash/t_set/t_zset family, geo/hyperloglog/bitops, plus eviction (evict.c) and expiry (expire.c).
Persistence (RDB/AOF)
src/rdb.c serializes datasets to snapshot files while src/aof.c appends write commands and rewrites logs for durability and recovery.
Replication & clustering
src/replication.c handles master-replica sync and propagation; src/cluster.c, src/cluster_legacy.c, and src/cluster_slot_stats.c implement cluster bus gossip, slot ownership/migration, and slot statistics.
Scripting (Lua & Functions)
src/eval.c, src/script_lua.c, src/function_lua.c, src/functions.c, and src/script.c execute embedded Lua scripts and persistent Functions with sandboxed execution.
Modules API
src/module.c and src/redismodule.h expose a large C API allowing external modules to register commands, data types, and hooks inside the server process.
Security & access control
src/acl.c implements users, password authentication, command/key pattern permissions, and TLS config; src/config.c parses redis.conf including TLS certificates/keys and ACL file directives.
CLI tools & Sentinel
redis-cli.c / cli_common.c provide the interactive client, redis-benchmark.c load generation, redis-check-aof/rdb integrity checkers, and sentinel.c runs the Sentinel high-availability monitor.
A short week centered on preventing data loss and tightening security checks during transactions and replica migration.
5 weeksWeek of 2026-08-24
Week of 2026-08-24latest
A short week centered on preventing data loss and tightening security checks during transactions and replica migration.
Week of 2026-08-17
Eleven commits brought a new TLS named-groups setting plus fixes for replication failover, integer overflow, and hash performance.
Week of 2026-08-10
Six commits added stream visibility to key-size reporting and fixed several expiration and RDB-loading bugs.
Week of 2026-08-03
The busiest week of the period with 21 commits, mostly small correctness fixes, memory-safety patches, and performance cleanups.
Week of 2026-07-27
Fourteen commits bundled module version upgrades to 8.10.0, stronger TLS certificate verification, and a faster XAUTOCLAIM.
Over the past five weeks the Redis team focused heavily on reliability and correctness, fixing a steady stream of data-safety bugs around replication, cluster failover, and expiration. Alongside those fixes, they shipped user-facing improvements to TLS configuration, cluster node info, and performance of streams, hashes, and networking. The week of August 3 was the busiest with 21 commits, largely cleanup and edge-case fixes, while later weeks settled into smaller batches of targeted bug fixes.
Week by week
2026-08-24A short week centered on preventing data loss and tightening security checks during transactions and replica migration.latest4 changes
Fix
Prevent data loss after cross-shard replica migration
Fixed a scenario where moving a replica between shards in a cluster could result in lost data.
Fix
Recheck ACL key permissions at EXEC time
Access permissions for specific keys are now verified again when a queued transaction actually runs, closing a security gap.
Fix
Clean up code coverage CI warnings
Resolved warnings and failures that appeared when measuring test coverage across multiple threads.
Refactor
Enable x86 TSC monotonic clock by default
Redis now uses the processor's high-resolution clock by default on x86 machines, calibrating it at runtime for more accurate timing.
2026-08-17Eleven commits brought a new TLS named-groups setting plus fixes for replication failover, integer overflow, and hash performance.6 changes
Feature
Add tls-groups configuration option
Administrators can now control which TLS named groups (encryption key-exchange methods) Redis uses for secure connections.
Fix
Fix replica left as sub-replica after failover
After an automatic failover, replicas no longer remain incorrectly attached as second-level replicas.
Fix
Fix integer overflow on out-of-range numkeys
Extremely large numbers passed to commands accepting a key count no longer cause overflow errors.
Refactor
Improve batch mutation performance of hash template keys
Operations that update many template-based hash keys at once are now noticeably faster.
Chore
Add 8.8 and 8.10 to supported versions
The two latest release branches are now officially tracked as supported versions.
Chore
Fix flaky TLS handshake wording in tests
Updated a test so it matches error messages consistently across different OpenSSL platforms.
2026-08-10Six commits added stream visibility to key-size reporting and fixed several expiration and RDB-loading bugs.6 changes
Feature
Add stream support to INFO keysizes histograms
The server's key-size statistics report now includes streams, giving better visibility into memory usage by data type.
Feature
Expose TLS port flag in RM_GetClusterNodeInfo()
Modules can now tell whether a cluster node's port uses TLS when querying node information.
Fix
Fix overflowing relative expiration times in SET
Setting extremely large relative expiry times no longer overflows into incorrect values.
Fix
Fix unloadable RDB when XSETID lowers entries_added
Snapshots saved after certain XSETID operations can now be loaded again without errors.
Fix
Avoid resizing slot dict during atomic slot import
Prevented a resize operation mid-import that could destabilize cluster slot transfers.
Fix
Fix potential defrag issues in the hash template registry
Addressed memory-defragmentation edge cases involving the internal hash template registry.
2026-08-03The busiest week of the period with 21 commits, mostly small correctness fixes, memory-safety patches, and performance cleanups.6 changes
Fix
Fix use-after-free in handleClientsBlockedOnKey
Closed a memory-safety bug where blocked clients could reference freed data.
Fix
Track Pub/Sub subscription provenance across AUTH changes
Pub/Sub subscriptions are now correctly re-evaluated when a client authenticates under different credentials.
Fix
Fix XDELEX DELREF propagation for deleted entries
Reference-count updates for deleted stream entries now propagate correctly.
Refactor
Assemble bulk replies in one pass
Network reply construction for large values was streamlined into a single step for faster responses.
Refactor
Speed up child-edge lookup in radix tree nodes
The internal radix tree now uses optimized memory scanning to find child nodes more quickly.
Refactor
Move topology change handling into the cluster layer
Common logic for handling cluster membership changes was consolidated into one place for maintainability.
2026-07-27Fourteen commits bundled module version upgrades to 8.10.0, stronger TLS certificate verification, and a faster XAUTOCLAIM.6 changes
Chore
Upgrade bundled modules to 8.10.0
RedisBloom, RedisTimeSeries, RedisJSON, and RediSearch were all updated to their 8.10.0 releases.
Feature
Add TLS peer certificate name verification
Server-to-server connections can now verify the certificate's hostname identity, hardening encrypted cluster links.
Refactor
Speed up XAUTOCLAIM with a single forward scan
The XAUTOCLAIM command now scans forward once instead of doing per-entry lookups, making it much faster on large streams.
Docs
Update TLS.md documentation
The TLS guide was refreshed to accurately describe current supported TLS features.
Fix
Disable defrag during AOF preamble loading
Memory defragmentation is paused while loading AOF files to prevent conflicts with template-based hashes.
Fix
Notify modules when node IP or port changes
Modules are now informed when a cluster node's own address changes so they can react appropriately.
Dependencies and code review
Dependency advisories
Security Watch
No known advisories across 0 scanned dependencies.
No known advisories in the scanned dependencies.
Code review
No concrete code-level issues confirmed.
Get this report every week for your repos.
GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.
$19 a month, flat · First 10 outputs free · No card required