Skip to main content
Glossary

Redis

An open-source, in-memory data structure store used as a database, cache, message broker, and session store with sub-millisecond response times.

Detailed Explanation

Redis (Remote Dictionary Server) is one of the most popular tools in modern web development. It stores data entirely in memory, providing microsecond-level response times—orders of magnitude faster than disk-based databases. Despite being "just" a cache, Redis supports complex data structures: strings, lists, sets, sorted sets, hashes, bitmaps, and streams.

Common uses include caching (storing computed results), session storage (user login state), rate limiting (counting API requests), real-time leaderboards (sorted sets), pub/sub messaging (real-time notifications), and queue management (background jobs). Redis is simple to set up, has excellent client libraries, and is offered as a managed service by every major cloud provider.

Why It Matters

Redis is the go-to solution for caching, session management, and real-time features. It is essential knowledge for backend developers.

Real-World Example

A gaming platform uses Redis for: session storage (who is logged in), rate limiting (API requests per user), real-time leaderboards (sorted sets), and chat messaging (pub/sub channels)—all at microsecond speeds.

When to Use

For caching, session storage, rate limiting, real-time features, message queues, and any use case requiring fast data access with flexible data structures.

Advantages

  • Sub-millisecond response times
  • Rich data structures beyond simple key-value
  • Built-in replication and clustering
  • Pub/sub for real-time messaging
  • Extensive ecosystem and managed services

Disadvantages

  • Data loss risk if not persisted properly
  • Memory limits (data must fit in RAM)
  • Single-threaded (but very fast)
  • Not suitable for complex queries like SQL
  • Requires careful memory management

Frequently Asked Questions

When should I use Redis?

Use Redis for caching (database queries, API responses), session storage, rate limiting, real-time leaderboards, pub/sub messaging, and job queues. If you need fast access to structured data, Redis is likely the right choice.

Is Redis a database?

Redis can function as a primary database for specific use cases (session data, counters), but it is most commonly used alongside a primary database (PostgreSQL, MongoDB) as a caching and real-time layer.

How do I persist Redis data?

Redis supports RDB snapshots (periodic dumps) and AOF (append-only file) for persistence. For production, use both: AOF for durability and RDB for backups. Managed Redis services handle persistence automatically.

What is the difference between Redis and Memcached?

Redis supports richer data structures, persistence, pub/sub, and Lua scripting. Memcached is simpler and more memory-efficient for basic key-value caching. Redis is more versatile; Memcached is better for simple caching at scale.

How much memory does Redis need?

Depends on your data size. Redis uses about 1.5-2x the memory of the data it stores. For caching, size your Redis instance based on the total size of cached data. Start small and scale as needed.

Back to Glossary

Browse all terms in our software development glossary.

Browse All Terms