Skip to main content
Lexicon
Lexicon
Redis

Redis

Redis is an in-memory data store used as a database, cache and message broker. Its speed comes from holding data in memory, so operators must plan memory limits, persistence and eviction behaviour, and confirm version-specific details in the Redis documentation.
Difficulty: Introductory
3 min read
Updated 2026-11-09

In plain English

Plain definition

Redis is an in-memory data store used as a database, cache and message broker. Its speed comes from holding data in memory, so operators must plan memory limits, persistence and eviction behaviour, and confirm version-specific details in the Redis documentation.

Technical definition

Redis is documented as an in-memory data structure store. Rather than storing opaque values only, it exposes typed structures such as strings, hashes, lists, sets and sorted sets, each with dedicated commands. Clients connect over a network protocol and issue commands against keys. Optional persistence mechanisms, replication and clustering are documented features. The exact set of features, modules and defaults differs between versions and distributions, so confirm version-specific details in the Redis documentation at redis.io/docs.

Operational relevance

Because data lives in memory, capacity planning centres on memory. Operators should decide in advance what happens when the configured memory limit is reached: evict keys according to a chosen policy or reject writes. They should also decide whether data must survive a restart, which determines the persistence settings. Latency, memory use and replication health are the usual signals to monitor. Memory layout can also leave the process using more system memory than the data alone suggests; the guide to building a Redis memory fragmentation ratio tool shows one way to observe this.

Architecture relationship

Redis typically sits beside a primary database rather than replacing it. In a cache-aside pattern the application checks Redis first, falls back to the database on a miss and then populates Redis. In other designs Redis is the system of record for a bounded dataset, which raises the importance of persistence and replication choices.

Example

A web application stores a user session under a key with an expiry time. Each request reads the key; if it is present, the user stays signed in. If the key has expired or been evicted, the application asks the user to sign in again. Success is observable: session reads return quickly, expired sessions disappear, and memory use stays below the configured limit during normal load. Test this in a non-production environment first.

Misunderstanding

A common belief is that Redis is only a cache and that data is always disposable. Redis can be configured for persistence, but that is a design choice that must be enabled, tested and understood. The opposite error is assuming that persistence makes it a substitute for a full relational database without examining durability needs. Another mistake is leaving memory limits and eviction unset, so growth is discovered only when the host runs short of memory.

  • Cache: a fast store holding copies of data held elsewhere.
  • Eviction policy: the rule for removing keys when memory is full.
  • Persistence: writing data to disk so it can survive a restart.
  • Replication: copying data to other Redis instances.

Further reading

Start with the Redis documentation at redis.io/docs. Before changing any setting, confirm your product version and permissions, validate in an isolated environment, record the current configuration so it can be restored, and check that latency, memory and error rates return to their baseline. If a change misbehaves, restore the recorded configuration and escalate to the service owner.

About this page

Dates

Published

Corrections

No corrections are listed for this page. Some review sweeps corrected pages without naming each one; those are in the corrections log.

Was this useful?

Reports go to the site owner and are used to correct pages. Corrections are listed at /corrections.