Introduction to Redis Data Structures banner image

RU101 · Self paced

Introduction to Redis Data Structures

New to Redis? Learn all about Redis’ core data structures, and see how to apply them in the real world.

 course image

What you’ll learn

RU101 is an introductory course, perfect for developers new to Redis. In this course, you’ll learn about the data structures in Redis, and you’ll see how to practically apply them in the real world.

The course covers all of Redis’s most-used data structures, including strings, hashes, lists, sets, and sorted sets. Since Redis is often used for high-throughput, low-latency applications, we’ll be sure to cover the time-complexity of the various Redis commands so that you can select the most efficient data structures to solve your domain problem.

You’ll also learn about specialized Redis data structures such as geospatial indexes and bit fields. And you’ll see how to model capped collections, perform set operations, and take advantage of Redis pub/sub.

Finally, you’ll get an introduction to Redis’s powerful Lua scripting capabilities.

Join us live!

Suze Shardlow, our Developer Community Manager, will be taking RU101 with you this October. Join her and Developer Advocate Justin Castilla on Twitch weekly for live sessions covering the course materials. Subscribe to our channel to get a reminder when we go live! In case you missed it, here’s the video of our first stream covering what RU101 is all about and how to get set up with Redis in the cloud:

Reviews of RU101

What you’ll build

To make the material interesting and practical, the course examples model a system for hosting the Redis Games, a worldwide sporting event! You’ll use the Redis CLI to interact with the data models, and coded solutions will be provided in Python.

Course Outline

Week 1

  • Course Introduction
  • Data Structures
    • Keys & Expiration
    • Strings
    • Hashes
    • Lists
    • Sets
    • Sorted Sets

Week 2

  • Capped Collections & Set Operations
  • Use Case: Faceted Search
    • Object Inspection
    • Set Intersection
    • Hashing & Compound Keys
  • Performance
    • Big-O Notation

Week 3

  • Transactions
    • Basic Transactions
    • Optimistic Concurrency Control
  • Object Storage
    • Simple Objects
    • Nesting, Relationships, & Folding
  • Use Case: Inventory Control
    • Overview
    • Reservations
    • Expiration of Reservations

Week 4

  • Bitfields
  • Use Case: Seat Reservations
    • Domain Problem
    • Creating Seat Maps
    • Checking Availability
    • Reserving Seats
  • Publish / Subscribe
  • Use Case: Fan out
    • Syndication of Events
    • Filtered Events

Week 5

  • Geospatial
  • Use Case: Finding Venues
    • Creating Geospatial Objects
    • Finding Venues from Another Point or Venue
    • Calculating Distances
  • Lua Scripting
  • Use Case: Inventory Control with Lua
    • Managing and Executing Scripts
    • Purchase Workflow
    • Reserving Tickets

Week 6

  • Final Exam
Course Number
October 05, 2021
November 11, 2021
Estimated Effort
~ 3 hours per week

Software Requirements

  • Web Browser: Firefox 39.0+ or Chrome 43+ (Internet Explorer is not supported)
  • Operating System: Mac OS X 10.7+ 64-bit, Ubuntu 14.04+ 64-bit, or Windows 10
  • Software: Docker, or local installs of Python 3 and Redis 5 or 6
  • Non-blocked access to and
A photograph of Alvin Richards
Instructor Alvin Richards

Alvin was Chief Education Officer at Redis, and has held various executive roles, most recently as the Field Chief Technology Officer at MariaDB, Vice President of Product at Aerospike, and engineering lead at MongoDB. He has worked with SaaS startups, enterprise storage (NetApp) and byte-code virtualization, and containers (Docker). Alvin’s early experience as a software engineer at Oracle provided a springboard for his career success building and leading engineering teams across the globe.

Alvin holds a computer science degree from Thames Valley University and a Bachelor of Arts in photography from Nottingham Trent University, both in Great Britain.

A photograph of Kyle Banker
Instructor Kyle Banker

Kyle Banker runs Education at Redis. 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.