redis/redis
Primitives
The data structures that back Redis's user-visible types. These pages describe the implementations under src/, not the type APIs.
| Primitive | Source | Used by |
|---|---|---|
| SDS — Simple Dynamic String | src/sds.c, src/sds.h |
Everywhere strings show up. Keys, values, query buffer, output buffers. |
| robj — the value wrapper | src/object.c, src/object.h |
Every value in the keyspace. |
| dict — incremental hash table | src/dict.c, src/dict.h |
Every keyspace dict, plus per-type internal indices. |
| kvstore — slot-aware dict array | src/kvstore.c, src/kvstore.h |
The per-DB key store. |
| Listpack & quicklist | src/listpack.c, src/quicklist.c |
Lists, small sets, small hashes, small zsets, stream nodes. |
| Intset | src/intset.c |
Sorted integer-only sets. |
| Rax — compressed radix tree | src/rax.c, src/rax.h |
Stream id index; some internal tables. |
| ebuckets | src/ebuckets.c, src/ebuckets.h |
TTL storage. |
| Stream radix | src/t_stream.c, src/stream.h, src/listpack.c, src/rax.c |
Stream entries. |
| Other primitives | src/adlist.c (linked list), src/ziplist.c (legacy), src/zipmap.c (legacy), src/mstr.c, src/sparkline.c, src/rand.c, src/sha1.c, src/sha256.c, src/siphash.c, src/crc*.c, src/lzf_*.c, src/fast_float_strtod.c, src/keymeta.c, src/entry.c, src/fwtree.c, src/estore.c, src/gcra.c, src/vector.c, src/hotkeys.c |
Various. |
The primitives are deliberately small and self-contained. Each has its own embedded C tests under #ifdef REDIS_TEST so they can be exercised standalone via redis-server test <name>. See Testing.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.