Skip to main content

RU101Introduction to Redis Data Structures

Introduction to Redis Data Structures

In this course you will learn the techniques and patterns to successful model various data structures to effectively and efficiently use Redis. Various mini projects will be used to create an event booking system for the Redis Games 2020 in Tokyo.

  • Course Number

    RU101
  • Classes Start

  • Classes End

  • Estimated Effort

    3:00/week

What you will learn

In this course we will cover the richness of Redis data structures and how to practically apply them to solve problems.

We will start with Keys and Strings as they are fundamental building blocks for using Redis before we cover Hashes, List, Sets and Sorted Sets.

Since Redis is often used when high throughput and low latency are required, we will talk about Big-O and Time Complexity and how this will help you select the right data structure and commands to solve your domain problem.

We will dive into other data structures, like Geospatial and Bit Fields, and will take a look at Capped Collection, Set operations and Publish/Subscribe and how they can be applied.

What you will build

Various data models to support use case for the Redis Games application. The redis-cli will be used for interactive example, code solutions will be provided in Python.

Course Outline

Week 1

Week 2

Week 3

  • Course Introduction
  • Data Structures - Part One
    • Keys & Expiration
    • Strings
    • Hashes
    • Lists
  • Data Structures - Part Two
    • Sets
    • Sorted Sets
  • Capped Collections & Set Operations
  • Use Case: Faceted Search
    • Object Inspection
    • Set intersection
    • Hashing & Compound Keys
  • Performance & Big O notation
  • Transactions
    • Basic Transactions
    • Optimistic concurrency control
  • Object Storage
    • Simple Objects
    • Nesting, Relationships & Folding
  • Use Case: Inventory Control
    • Overview
    • Reservations
    • Expiration of Reservations

Week 4

Week 5

Week 6

  • 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
  • Geospatial
  • Use Case: Finding venues
    • Creating Geospatial objects
    • Finding venues from another point or venue
    • Calculating distances
  • Lua scripting
  • Final Exam

Requirements

  • 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 www.youtube.com and university.redislabs.com (i.e. non-blocked access)

Course Instructor

Course Staff Image #1

Alvin Richards

Alvin is Chief Education Officer at Redis Labs, 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 SasS 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.

Enroll