redis/src
Moti Cohen 11e73c66a8
Some checks are pending
CI / test-ubuntu-latest (push) Waiting to run
CI / test-sanitizer-address (push) Waiting to run
CI / build-debian-old (push) Waiting to run
CI / build-macos-latest (push) Waiting to run
CI / build-32bit (push) Waiting to run
CI / build-libc-malloc (push) Waiting to run
CI / build-centos-jemalloc (push) Waiting to run
CI / build-old-chain-jemalloc (push) Waiting to run
Codecov / code-coverage (push) Waiting to run
External Server Tests / test-external-standalone (push) Waiting to run
External Server Tests / test-external-cluster (push) Waiting to run
External Server Tests / test-external-nodebug (push) Waiting to run
Spellcheck / Spellcheck (push) Waiting to run
Modules KeyMeta (Keys Metadata) (#14445)
Modules KeyMeta (Keys Metadata)

Redis modules often need to associate additional metadata with keys in
the keyspace. The objective is to create a unified and extensible
interface, usable by modules, Redis core, and maybe later by the users,
that facilitate the association and management of metadata with keys.
While extending RedisModuleTypes might be an easier path, this proposal
goes one step further: a general-purpose mechanism that lets attach
metadata to any key, independent of underlying data type.

A major part of this feature involves defining how metadata is managed
throughout a key’s lifecycle. Modules will be able to optionally
register distinct metadata classes, each with its own lifecycle
callbacks and capable of storing arbitrary 8-byte value per key. These
metadata values will be embedded directly within Redis’s core key-value
objects to ensure fast access and automatic callback execution as keys
are created, updated, or deleted. Each 8 bytes of metadata can represent
either a simple primitive value or a pointer/handle to more complex,
externally managed data by the module and RDB serialized along with the
key.

Key Features:
- Modules can register up to 7 metadata classes (8 total, 1 reserved)
- Each class: 4-char name + 5-bit version (e.g., "SRC1" v1)
- Each class attaches 8 bytes per key (value or pointer/handle)
- Separate namespace from module data types

Module API:
- RedisModule_CreateKeyMetaClass() - Register metadata class
- RedisModule_ReleaseKeyMetaClass() - Release metadata class
- RedisModule_SetKeyMeta() - Attach/update metadata
- RedisModule_GetKeyMeta() - Retrieve metadata

Lifecycle Callbacks:
- copy, rename, move - Handle key operations
- unlink, free - Handle key deletion/expiration
- rdb_save, rdb_load - RDB persistence
- aof_rewrite - AOF rewrite support

Implementation:
- Metadata slots allocated before kvobj in reverse class ID order
- 8-bit metabits bitmap tracks active classes per key
- Minimal memory overhead - only allocated slots consume memory

RDB Serialization (v13):
- New opcode RDB_OPCODE_KEY_METADATA
- Compact 32-bit class spec: 24-bit name + 5-bit ver + 3-bit flags
- Self-contained format: [META,] TYPE, KEY, VALUE
- Portable across cluster nodes

Integration:
- Core ops: dbAdd, dbSet, COPY, MOVE, RENAME, DELETE
- DUMP/RESTORE support
- AOF rewrite via module callbacks
- Defragmentation support
- Module type I/O refactored to ModuleEntityId
2026-01-15 23:11:17 +02:00
..
commands Add idempotency support to XADD via IDMPAUTO and IDMP parameters (#14615) 2026-01-15 21:58:44 +08:00
modules Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
.gitignore Ignore gcov/lcov artifacts 2012-04-13 17:52:33 -07:00
acl.c Hide PII from ACL log (#14645) 2026-01-04 10:35:30 +08:00
adlist.c Avoid allocation when iterating over hashes, lists, sets and kvstores (#14473) 2025-11-21 12:28:26 +02:00
adlist.h Avoid allocation when iterating over hashes, lists, sets and kvstores (#14473) 2025-11-21 12:28:26 +02:00
ae.c Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
ae.h Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
ae_epoll.c Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
ae_evport.c Fix crash due to incorrect event deletion of evport (#14162) 2025-07-03 14:41:26 +08:00
ae_kqueue.c Merge kqueue events to reduce system calls (#14557) 2025-12-18 19:51:02 +08:00
ae_select.c Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
anet.c Sanitize TCP_KEEPINTVL and simplify TCP_KEEPALIVE_ABORT_THRESHOLD on Solaris (#13142) 2026-01-05 09:57:33 +02:00
anet.h Retry accept() even if accepted connection reports an error (CVE-2025-48367) 2025-07-24 10:06:28 +03:00
aof.c Modules KeyMeta (Keys Metadata) (#14445) 2026-01-15 23:11:17 +02:00
asciilogo.h Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
atomicvar.h Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
bio.c Fix assumptions that pthread functions set errno (#14284) 2025-08-21 22:31:28 +08:00
bio.h Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
bitops.c New eviction policies - least recently modified (#14624) 2026-01-06 20:57:31 +08:00
blocked.c RED-135816: Lookahead pre-fetching (#14440) 2025-10-23 00:16:32 +08:00
call_reply.c Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
call_reply.h Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
childinfo.c Avoid performing IO on coverage when child exits due to signal handler (#14072) 2025-05-28 16:27:52 +08:00
cli_commands.c Reimplement cli hints based on command arg docs (#10515) 2023-03-30 19:03:56 +03:00
cli_commands.h Reimplement cli hints based on command arg docs (#10515) 2023-03-30 19:03:56 +03:00
cli_common.c Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
cli_common.h Adds connection timeout option to redis-cli (#10609) 2024-01-30 13:43:39 +02:00
cluster.c Modules KeyMeta (Keys Metadata) (#14445) 2026-01-15 23:11:17 +02:00
cluster.h Fix adjacent slot range behavior in ASM operations (#14637) 2025-12-23 11:54:12 +03:00
cluster_asm.c Propagate migrate task info to replicas (#14672) 2026-01-08 19:06:57 +08:00
cluster_asm.h Support delay trimming slots after finishing migrating slots (#14567) 2025-12-16 16:30:56 +08:00
cluster_legacy.c Unify slot migration logs across cluster implementations (#14628) 2025-12-18 18:22:25 +08:00
cluster_legacy.h Broadcast config change immediately to the other nodes in cluster (#14504) 2025-11-22 03:38:29 +03:00
cluster_slot_stats.c Add kvstore type and decouple kvstore from its metadata (#14543) 2025-12-08 21:12:33 +02:00
cluster_slot_stats.h Move cluster stats state out of cluster_legacy.c (#14409) 2025-10-08 10:36:28 +03:00
commands.c Reimplement cli hints based on command arg docs (#10515) 2023-03-30 19:03:56 +03:00
commands.def Add idempotency support to XADD via IDMPAUTO and IDMP parameters (#14615) 2026-01-15 21:58:44 +08:00
commands.h Replaced comment with excessive warning. 2023-07-16 17:04:15 -05:00
config.c Add idempotency support to XADD via IDMPAUTO and IDMP parameters (#14615) 2026-01-15 21:58:44 +08:00
config.h Detect accept4() on specific versions of various platforms (#14558) 2026-01-04 15:05:07 +08:00
connection.c Add boundary assert to connTypeRegister (#14153) 2025-07-04 21:12:28 +08:00
connection.h Add TLS certificate-based automatic client authentication (#14610) 2025-12-25 14:07:58 +02:00
connhelpers.h Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
crc16.c Change license from BSD-3 to dual RSALv2+SSPLv1 (#13157) 2024-03-20 22:38:24 +00:00
crc16_slottable.h Change crc16 slot table to be fixed size character array instead of pointer to strings (#13112) 2024-03-08 15:50:36 -08:00
crc64.c Resolve bounds checks on cluster_legacy.c (#13970) 2025-05-26 11:52:06 +03:00
crc64.h Add --large-memory flag for REDIS_TEST to enable tests that consume more than 100mb (#9784) 2021-11-16 08:55:10 +02:00
crccombine.c CRC64 perf improvements (#13638) 2024-11-12 09:21:22 +02:00
crccombine.h CRC64 perf improvements (#13638) 2024-11-12 09:21:22 +02:00
crcspeed.c CRC64 perf improvements (#13638) 2024-11-12 09:21:22 +02:00
crcspeed.h CRC64 perf improvements (#13638) 2024-11-12 09:21:22 +02:00
db.c Modules KeyMeta (Keys Metadata) (#14445) 2026-01-15 23:11:17 +02:00
debug.c New eviction policies - least recently modified (#14624) 2026-01-06 20:57:31 +08:00
debugmacro.h Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
defrag.c Modules KeyMeta (Keys Metadata) (#14445) 2026-01-15 23:11:17 +02:00
dict.c Refactor dict key encoding and fix defrag tag bit bug (#14682) 2026-01-12 13:19:03 +02:00
dict.h Replace fragile dict stored-key API with getKeyId callback (#14646) 2026-01-06 18:57:28 +02:00
ebuckets.c Remove unused comment in ebuckets.c (#14694) 2026-01-14 14:25:58 +08:00
ebuckets.h Add support to defrag ebuckets incrementally (#13842) 2025-05-18 12:38:53 +08:00
endianconv.c Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
endianconv.h Optimize stream ID comparison and endian conversion hot paths (#14480) 2025-11-07 08:26:22 +08:00
entry.c Hash - Unify Field-Value into a single struct along with dict no_value=1 (#14595) 2025-12-23 12:19:00 +02:00
entry.h Hash - Unify Field-Value into a single struct along with dict no_value=1 (#14595) 2025-12-23 12:19:00 +02:00
estore.c Hash - Unify Field-Value into a single struct along with dict no_value=1 (#14595) 2025-12-23 12:19:00 +02:00
estore.h Add Atomic Slot Migration (ASM) support (#14414) 2025-10-22 15:56:20 +03:00
eval.c Lua script can be executed in the context of another user (CVE-2025-46818) 2025-10-30 13:02:49 +08:00
eventnotifier.c Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
eventnotifier.h Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
evict.c New eviction policies - least recently modified (#14624) 2026-01-06 20:57:31 +08:00
expire.c New eviction policies - least recently modified (#14624) 2026-01-06 20:57:31 +08:00
fmacros.h Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
fmtargs.h Improve multithreaded performance with memory prefetching (#14017) 2025-06-05 08:57:43 +08:00
function_lua.c Lua script can be executed in the context of another user (CVE-2025-46818) 2025-10-30 13:02:49 +08:00
functions.c Add Atomic Slot Migration (ASM) support (#14414) 2025-10-22 15:56:20 +03:00
functions.h Add Atomic Slot Migration (ASM) support (#14414) 2025-10-22 15:56:20 +03:00
fwtree.c Fix estoreEmpty not clearing buckets sizes (#14465) 2025-10-25 21:14:15 +08:00
fwtree.h Refactor HFE: Introduce Per-Slot Expiration Store (estore) (#14294) 2025-09-11 16:45:17 +03:00
geo.c Eliminate zslGetRank calls from ZCOUNT/ZLEXCOUNT + simplify zslGetRankByNode() (#14684) 2026-01-15 11:48:16 +02:00
geo.h RDMF (Redis/Disque merge friendlyness) refactoring WIP 1. 2015-07-26 15:17:18 +02:00
geohash.c Change license from BSD-3 to dual RSALv2+SSPLv1 (#13157) 2024-03-20 22:38:24 +00:00
geohash.h Change license from BSD-3 to dual RSALv2+SSPLv1 (#13157) 2024-03-20 22:38:24 +00:00
geohash_helper.c Change license from BSD-3 to dual RSALv2+SSPLv1 (#13157) 2024-03-20 22:38:24 +00:00
geohash_helper.h Change license from BSD-3 to dual RSALv2+SSPLv1 (#13157) 2024-03-20 22:38:24 +00:00
hyperloglog.c New eviction policies - least recently modified (#14624) 2026-01-06 20:57:31 +08:00
intset.c Add per slot memory accounting (#14451) 2025-10-25 15:17:08 +03:00
intset.h Add per slot memory accounting (#14451) 2025-10-25 15:17:08 +03:00
iothread.c RED-135816: Lookahead pre-fetching (#14440) 2025-10-23 00:16:32 +08:00
keymeta.c Modules KeyMeta (Keys Metadata) (#14445) 2026-01-15 23:11:17 +02:00
keymeta.h Modules KeyMeta (Keys Metadata) (#14445) 2026-01-15 23:11:17 +02:00
kvstore.c Replace fragile dict stored-key API with getKeyId callback (#14646) 2026-01-06 18:57:28 +02:00
kvstore.h Add kvstore type and decouple kvstore from its metadata (#14543) 2025-12-08 21:12:33 +02:00
latency.c Prefer storing iterators on stack instead of the heap (#14200) 2025-07-24 10:17:54 +03:00
latency.h Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
lazyfree.c Add kvstore type and decouple kvstore from its metadata (#14543) 2025-12-08 21:12:33 +02:00
listpack.c Fix some comment spelling typos (#14648) 2026-01-04 10:38:11 +08:00
listpack.h Add per key memory accounting (#14363) 2025-10-23 12:36:29 +03:00
listpack_malloc.h Add per key memory accounting (#14363) 2025-10-23 12:36:29 +03:00
localtime.c Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
logreqres.c Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
lolwut.c LOLWUT for Redis 8. (#14048) 2025-05-26 09:27:45 +03:00
lolwut.h Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
lolwut5.c Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
lolwut6.c Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
lolwut8.c Add "Redis ver. $REDIS_VERSION" to LOLWUT 8 output (#14195) 2025-08-06 15:04:47 +08:00
lzf.h Change lzf to handle values larger than UINT32_MAX (#9776) 2021-11-16 13:12:25 +02:00
lzf_c.c Add MSan and integrate it with CI (#13916) 2025-05-09 11:44:54 +03:00
lzf_d.c Change lzf to handle values larger than UINT32_MAX (#9776) 2021-11-16 13:12:25 +02:00
lzfP.h Change lzf to handle values larger than UINT32_MAX (#9776) 2021-11-16 13:12:25 +02:00
Makefile Modules KeyMeta (Keys Metadata) (#14445) 2026-01-15 23:11:17 +02:00
memory_prefetch.c Replace fragile dict stored-key API with getKeyId callback (#14646) 2026-01-06 18:57:28 +02:00
memory_prefetch.h Improve multithreaded performance with memory prefetching (#14017) 2025-06-05 08:57:43 +08:00
memtest.c Add MSan and integrate it with CI (#13916) 2025-05-09 11:44:54 +03:00
mkreleasehdr.sh fix the wrong path in mkreleasehdr.sh (#12993) 2024-01-26 15:01:54 -08:00
module.c Modules KeyMeta (Keys Metadata) (#14445) 2026-01-15 23:11:17 +02:00
monotonic.c Enable hardware clock by default on ARM AArch64. (#14676) 2026-01-13 20:12:04 +08:00
monotonic.h Remove prototypes with empty declarations (#12020) 2023-05-02 17:31:32 -07:00
mstr.c Add per key memory accounting (#14363) 2025-10-23 12:36:29 +03:00
mstr.h Add per key memory accounting (#14363) 2025-10-23 12:36:29 +03:00
mt19937-64.c Fix random element selection for large hash tables. (#8133) 2020-12-23 15:52:07 +02:00
mt19937-64.h Fix random element selection for large hash tables. (#8133) 2020-12-23 15:52:07 +02:00
multi.c Fixes an issue where EXEC checks ACL during AOF loading (#14545) 2025-11-22 11:52:31 +08:00
networking.c Hide PII from ACL log (#14645) 2026-01-04 10:35:30 +08:00
notify.c Add new KSN types - overwritten and type_changed (#14141) 2025-07-07 13:29:14 +03:00
object.c Modules KeyMeta (Keys Metadata) (#14445) 2026-01-15 23:11:17 +02:00
object.h Modules KeyMeta (Keys Metadata) (#14445) 2026-01-15 23:11:17 +02:00
pqsort.c Change license from BSD-3 to dual RSALv2+SSPLv1 (#13157) 2024-03-20 22:38:24 +00:00
pqsort.h Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
pubsub.c Avoid allocation when iterating over hashes, lists, sets and kvstores (#14473) 2025-11-21 12:28:26 +02:00
quicklist.c Add kvstore type and decouple kvstore from its metadata (#14543) 2025-12-08 21:12:33 +02:00
quicklist.h Add per key memory accounting (#14363) 2025-10-23 12:36:29 +03:00
rand.c Change license from BSD-3 to dual RSALv2+SSPLv1 (#13157) 2024-03-20 22:38:24 +00:00
rand.h Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
rax.c Fix outdated raxNewWithMetadata() comment (#14483) 2025-10-30 09:46:45 +02:00
rax.h Add per key memory accounting (#14363) 2025-10-23 12:36:29 +03:00
rax_malloc.h Add per key memory accounting (#14363) 2025-10-23 12:36:29 +03:00
rdb.c Modules KeyMeta (Keys Metadata) (#14445) 2026-01-15 23:11:17 +02:00
rdb.h Modules KeyMeta (Keys Metadata) (#14445) 2026-01-15 23:11:17 +02:00
redis-benchmark.c keyspace - Unify key and value & use dict no_value=1 (#13806) 2025-05-12 10:15:17 +03:00
redis-check-aof.c Check length of AOF file name in redis-check-aof (CVE-2025-27151) (#14139) 2025-06-19 11:25:32 +03:00
redis-check-rdb.c Modules KeyMeta (Keys Metadata) (#14445) 2026-01-15 23:11:17 +02:00
redis-cli.c [Vector sets]: redis-cli recall testing abilities (#14408) 2026-01-12 12:40:39 +08:00
redis-trib.rb Redis-trib deprecated: it no longer works and it 2018-07-13 10:51:58 +02:00
redisassert.c Fixed variable parameter formatting issues in serverPanic function (#13504) 2024-09-03 15:51:46 +08:00
redisassert.h keyspace - Unify key and value & use dict no_value=1 (#13806) 2025-05-12 10:15:17 +03:00
redismodule.h Modules KeyMeta (Keys Metadata) (#14445) 2026-01-15 23:11:17 +02:00
release.c Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
replication.c Introduce flushdb option for repl-diskless-load (#14596) 2025-12-15 11:25:53 +08:00
resp_parser.c Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
resp_parser.h Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
rio.c Add Atomic Slot Migration (ASM) support (#14414) 2025-10-22 15:56:20 +03:00
rio.h Fix short read issue that causes exit() on replica (#14085) 2025-05-28 12:43:59 +03:00
script.c RED-135816: Lookahead pre-fetching (#14440) 2025-10-23 00:16:32 +08:00
script.h Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
script_lua.c Lua script can be executed in the context of another user (CVE-2025-46818) 2025-10-30 13:02:49 +08:00
script_lua.h Lua script can be executed in the context of another user (CVE-2025-46818) 2025-10-30 13:02:49 +08:00
sds.c Fix some comment spelling typos (#14648) 2026-01-04 10:38:11 +08:00
sds.h Hash - Unify Field-Value into a single struct along with dict no_value=1 (#14595) 2025-12-23 12:19:00 +02:00
sdsalloc.h Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
sentinel.c Prefer storing iterators on stack instead of the heap (#14200) 2025-07-24 10:17:54 +03:00
server.c Modules KeyMeta (Keys Metadata) (#14445) 2026-01-15 23:11:17 +02:00
server.h Modules KeyMeta (Keys Metadata) (#14445) 2026-01-15 23:11:17 +02:00
setcpuaffinity.c cpu affinity: DragonFlyBSD support (#7956) 2020-10-25 14:14:05 +02:00
setproctitle.c Change license from BSD-3 to dual RSALv2+SSPLv1 (#13157) 2024-03-20 22:38:24 +00:00
sha1.c Ignore -Wstringop-overread warning for SHA1Transform() on GCC 12 (#11538) 2022-11-24 15:27:16 +02:00
sha1.h Fix some compile warnings and errors when building with gcc-12 or clang (#12035) 2023-04-18 09:53:51 +03:00
sha256.c Add sanitizer support and clean up sanitizer findings (#9601) 2021-11-11 13:51:33 +02:00
sha256.h fix explanation of sha256 (#9220) 2021-07-10 10:04:54 -05:00
siphash.c Fix some comment spelling typos (#14648) 2026-01-04 10:38:11 +08:00
slowlog.c Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
slowlog.h Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
socket.c Retry accept() even if accepted connection reports an error (CVE-2025-48367) 2025-07-24 10:06:28 +03:00
solarisfixes.h Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
sort.c New eviction policies - least recently modified (#14624) 2026-01-06 20:57:31 +08:00
sparkline.c Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
sparkline.h Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
stream.h Add idempotency support to XADD via IDMPAUTO and IDMP parameters (#14615) 2026-01-15 21:58:44 +08:00
strl.c Avoid using unsafe C functions (#10932) 2022-07-18 10:56:26 +03:00
syncio.c Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
syscheck.c Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
syscheck.h Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
t_hash.c Replace fragile dict stored-key API with getKeyId callback (#14646) 2026-01-06 18:57:28 +02:00
t_list.c New eviction policies - least recently modified (#14624) 2026-01-06 20:57:31 +08:00
t_set.c New eviction policies - least recently modified (#14624) 2026-01-06 20:57:31 +08:00
t_stream.c Add idempotency support to XADD via IDMPAUTO and IDMP parameters (#14615) 2026-01-15 21:58:44 +08:00
t_string.c New eviction policies - least recently modified (#14624) 2026-01-06 20:57:31 +08:00
t_zset.c Eliminate zslGetRank calls from ZCOUNT/ZLEXCOUNT + simplify zslGetRankByNode() (#14684) 2026-01-15 11:48:16 +02:00
testhelp.h Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
threads_mngr.c Add thread sanitizer run to daily CI (#13964) 2025-06-02 10:13:23 +03:00
threads_mngr.h Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
timeout.c Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
tls.c Add TLS certificate-based automatic client authentication (#14610) 2025-12-25 14:07:58 +02:00
tracking.c New eviction policies - least recently modified (#14624) 2026-01-06 20:57:31 +08:00
tsan.sup Add thread sanitizer run to daily CI (#13964) 2025-06-02 10:13:23 +03:00
unix.c Retry accept() even if accepted connection reports an error (CVE-2025-48367) 2025-07-24 10:06:28 +03:00
util.c Fix string2d usage in case of hexadecimal strings parsing and overflow (#13845) 2025-03-19 20:08:45 +08:00
util.h Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
valgrind.sup Sanitize dump payload: fuzz tester and fixes for segfaults and leaks it exposed 2020-12-06 14:54:34 +02:00
version.h Add Module API for version and compatibility checks (#7865) 2020-10-11 17:21:58 +03:00
ziplist.c Fix some comment spelling typos (#14648) 2026-01-04 10:38:11 +08:00
ziplist.h Change license from BSD-3 to dual RSALv2+SSPLv1 (#13157) 2024-03-20 22:38:24 +00:00
zipmap.c Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
zipmap.h Adding AGPLv3 as a license option to Redis! (#13997) 2025-05-01 14:04:22 +01:00
zmalloc.c Add per key memory accounting (#14363) 2025-10-23 12:36:29 +03:00
zmalloc.h Add per key memory accounting (#14363) 2025-10-23 12:36:29 +03:00