Redis Streams

Master the powerful new Redis data structure that brings streaming semantics to Redis.

Register for this course
This course is self-paced. You can access all of the course materials at any time. You'll need to complete all homework and the final exam by the end date, but you're free to do so at your own pace.

What you’ll learn

Redis Streams is a new Redis data structure released as part of Redis 5.0. A Redis stream models an append-only log as a Redis data structure.

In this course, we’ll cover the basic concept of streaming, and then provide a broad overview of Redis Streams itself. After that, we’ll explore the Redis Streams commands in detail and discover how this new data structure works under the hood.

We’ll finish the course by showing you how to use Redis Streams in the real world. This final chapter will include a number of useful patterns, plus many important points to keep in mind when deploying Redis Streams in production.

What you’ll build

The course contains numerous hands-on examples, with a few of them using Python. However most of the tutorials can be run from the Redis CLI.

Course Outline

Week 1Week 2Week 3
  • Introduction to Messaging, Streams, and Distributed Systems
  • Introduction to Redis Streams
  • Comparison to Other Redis Data Structures
  • The Producer
  • The Consumer
  • Range Queries
  • Consumer Groups
  • Consumer Group Management
Week 4Week 5
  • Patterns for Redis Streams
  • Large Data Set Examples
  • Memory Management Techniques
  • Final Exam


  • Web Browser: Firefox 39.0+ or Chrome 43+ (Internet Explorer is currently not supported)
  • Operating System: Mac OS X 10.7+ 64-bit, Ubuntu 14.04+ 64-bit, or Windows 8+ (64-bit)
  • Access to and (i.e. non-blocked access)

Course Instructors

Itamar Habar

A self-proclaimed “Redis Geek”, Itamar is the Technology Evangelist at Redis Labs. He is also the former Chief OSS Redis Education Officer, Chief Developer Advocate, and VP of Customer Support, evangelizing Redis to thousands of developers.

Kyle Banker

Kyle Banker is Director of Developer Education at Redis Labs. He’s worked extensively in data engineering, is enthusiastic about data stores and distributed systems, and is passionate about explaining technology as clearly as possible.

Kyle holds dual degrees in English literature and philosophy.