Open-Source Wikis

/

Redis

/

Redis

redis/redis

Redis

Redis is an in-memory data structure server. It speaks a simple text-based protocol (RESP) on TCP and exposes high-level data types — strings, lists, hashes, sets, sorted sets, streams, hyperloglogs, bitmaps, geospatial indexes, vector sets — along with Pub/Sub, transactions, Lua scripting, replication, sharding, and a pluggable module API.

This wiki covers the source layout under src/, the bundled dependencies under deps/, the Tcl-based test harness in tests/, and the toolchain that builds redis-server, redis-sentinel, redis-cli, redis-benchmark, redis-check-rdb, and redis-check-aof.

What is in the repository

Directory Purpose
src/ The C source for the Redis server, CLI, and the RDB/AOF check tools.
src/commands/ One JSON file per Redis command describing its arguments, flags, ACL category, and reply schema.
src/modules/ Sample modules (helloworld.c, hellotype.c, helloblock.c, …) demonstrating the Module API.
deps/ Bundled, in-tree third-party libraries: jemalloc, Lua 5.1, hiredis, hdr_histogram, linenoise, fpconv, xxhash.
tests/ Tcl-based integration test harness: unit/, integration/, cluster/, sentinel/, support/.
modules/ External-style modules built into the server when BUILD_WITH_MODULES=yes is passed (vector-sets/ is included; the rest are stubs that download from upstream).
utils/ Helper scripts: cluster bootstrappers, certificate generation, command-table code generation, init scripts, systemd units.
redis.conf, sentinel.conf The example configuration files shipped with each release.

How to read this wiki

  • Start with Architecture for the high-level picture: event loop, client lifecycle, persistence, replication, cluster, modules.
  • Use Getting started to build, run, and exercise Redis from source.
  • Drill into a deployable in Applications: one page per binary.
  • Drill into a subsystem in Systems: event loop, networking, persistence, replication, cluster, scripting, modules, ACL, memory management, IO threads, Pub/Sub, tracking.
  • Drill into a data structure in Primitives: SDS, dict, listpack/quicklist, rax, intset, kvstore, robj, ebuckets, stream radix.
  • Drill into a feature in Features: the user-visible data types, key expiration, transactions, keyspace notifications.
  • Look up a term in the Glossary.

Project facts

  • Source language: C99 / GNU11 (auto-detected; falls back to C99 if the compiler does not have <stdatomic.h>).
  • License: tri-license RSALv2 / SSPLv1 / AGPLv3 (see LICENSE.txt). Earlier history is BSD-3 (see REDISCONTRIBUTIONS.txt).
  • First commit: March 2009. Original author: Salvatore Sanfilippo ("antirez").
  • Build system: GNU Make. The top-level Makefile delegates to src/Makefile, which in turn builds everything in deps/ first.
  • Test harness: Tcl (tcl8.6+); driven from tests/test_helper.tcl via the runtest, runtest-cluster, runtest-sentinel, and runtest-moduleapi shell wrappers.
  • Cross-platform: Linux, macOS, FreeBSD, NetBSD, OpenBSD, DragonFly, Haiku. Windows is not supported by upstream.

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

Redis – Redis wiki | Factory