← All open source projects

Redis

redis/redis

Redis is a fast in-memory data structure server used for caching, queues, counters, sessions, and low-latency workloads.

Forks 24,664
Author redis
Language C
License NOASSERTION
Synced 2026-06-11

What it is

Redis is an in-memory data structure server. Calling it a cache is too narrow: Redis stores strings, hashes, lists, sets, sorted sets, streams, and other structures used for counters, queues, sessions, locks, rate limiting, and fast application responses.

The redis/redis repository has been on GitHub since 2009. Its primary language is C, and the official site is redis.io. Current metadata refers to Redis Open Source; licensing terms and the exact edition should be checked for each use case.

What is inside

Inside are the Redis server, redis-cli, data structure modules, tests, build files, startup documentation, and the source code of the networked server. The key idea is that operations run close to the data, which reduces trips to the primary database for many tasks.

A minimal redis-cli scenario

This example shows the basic model: write a value with a lifetime, read it, and increment a counter. Small operations like these often become building blocks for caches and request-rate controls.

Language: Bash
redis-cli PING
redis-cli SET session:42 active EX 3600
redis-cli GET session:42
redis-cli INCR pageviews:home

Where it helps

Redis helps in web applications, background queues, real-time counters, rate limiting, session storage, temporary tokens, Pub/Sub scenarios, and fast indexes. It fits cases where milliseconds matter and data can live in memory or be rebuilt from a source of truth.

It often works next to a primary database rather than replacing it. PostgreSQL or MySQL can remain the system of record, while Redis accelerates reads, coordination, and temporary state.

Strengths and tradeoffs

The strength is speed, a simple command model, and rich data structures. Teams can start with a small cache use case and expand into streams or coordination tasks later.

The tradeoff is operational discipline. In-memory data needs size control, eviction policies, persistence settings, replication, security, and clear behavior on restart. Redis is fast, but a fast state layer can quietly become a critical dependency.