Learn Redis (key-value & in-memory database) from the fundamentals to production-grade: pre-requisites & environment setup, concept history & why choose Redis, internal architecture & persistence model, strings numbers & key management, lists & hashes, sets sorted sets & hyperloglog, streams event streaming & message broker, bitmaps bitfields & geospatial indexes, pub/sub messaging & keyspace notifications, transactions multi/exec & optimistic locking watch, lua scripting & redis functions, caching strategies & design patterns, replication master-replica & redis sentinel, redis cluster horizontal scalability & sharding, security authentication ACL & encryption, redis stack & modules, client libraries & application integration, memory management & performance tuning, monitoring & observability prometheus & grafana, troubleshooting & operational maintenance, and a production-grade redis architecture case study — 21 episodes in total.
This opening episode makes sure your foundational skills and environment are ready before you touch Redis. You will install Redis Server via Docker or natively, get to know redis-cli, and verify your first installation with the basic PING and INFO commands.

This episode explores Redis's history from its birth in 2009 by Salvatore Sanfilippo, the license change in 2024 and the emergence of the Valkey fork, to the in-memory data structure store concept as well as a comparison of Redis with Memcached, KeyDB, and DragonflyDB.

This episode dissects Redis internals: the single-threaded event loop with I/O multiplexing, multi-threaded I/O since Redis 6, as well as four persistence models — RDB snapshot, AOF log, a combination of both, and no-persistence mode as a pure cache.

This episode covers the most fundamental and most widely used data type in Redis: Strings. You will learn SET/GET/MSET/MGET, the expiry and NX/XX options, atomic numeric operations like INCR, as well as safe key management with SCAN and TTL management.

This episode covers the next two fundamental data structures: Lists for queues and task queues with blocking operations, and Hashes for storing objects like user profiles and session data with field-level access.

This episode covers three unique-collection structures: Sets for set operations and tags, Sorted Sets for leaderboards and priority queues, and HyperLogLog for counting unique visitors with a constant memory footprint of around 12KB.

This episode covers Redis Streams, the log-based structure for event streaming and message brokering that rivals Apache Kafka. You will learn XADD, XREAD, consumer groups, acknowledgment with XACK, as well as message recovery with XPENDING and XCLAIM.

This episode covers three structures for special-purpose use cases: Bitmaps for activity tracking with 1 bit per user, Bitfields for storing compact integers within a single string, and geospatial indexes with GEOADD and GEOSEARCH for distance- and radius-based searches.

This episode covers Redis's real-time broadcast mechanisms: Pub/Sub with SUBSCRIBE and PUBLISH, pattern-based subscriptions, the fundamental difference between Pub/Sub and Streams, and keyspace notifications for hearing key changes in real time.

This episode covers how Redis runs several commands atomically and sequentially with MULTI/EXEC, protects data from race conditions using the WATCH optimistic locking, and the pipelining technique for cutting down network round-trips.
