Redis for JavaScript Developers banner image

RU102JS · Self paced

Redis for JavaScript Developers

Build full-fledged Redis applications with Node.js and Express.

Register  
 course image

What you’ll learn

RU102JS provides a deep dive into Redis for Node.js applications. You can expect to learn how to make connections to Redis, store and retrieve data, and leverage essential Redis features such as sorted sets and streams.


What you’ll build

As the course progresses, you’ll write code that implements the features of a solar power monitoring application. This real-world project consists of three components:

  • A command-line data loading application
  • A REST API backend using Express
  • A Vue.js front end (No Vue experience required!)

We’ll store data in Redis using a data model that we’ll develop along the way. The project will leverage a number of Redis data structures, including:

  • Hashes
  • Sets
  • Sorted sets
  • Geospatial indexes
  • Streams

We’ll provide examples of best practices such as the use of pipelining, transactions, and Lua scripting. We’ll also demonstrate several common Redis patterns, including rate-limiting for API calls and leaderboards for top-producing solar sites.


Course Outline

Week 1

  • Overview and Introduction
  • Hello Redis
  • Getting Started with the Redis Client for Node.js
  • Introduction to Coding Challenges and test-driven development

Week 2

  • Modeling a Domain Problem in Redis
  • Storing Solar Site Metrics
  • Sorted Sets for Site Energy Status
  • Building Leaderboards and Top-N/Bottom-N Queries
  • Pipelining
  • Transactions

Week 3

  • Geo-Indexing Solar Sites
  • Criteria Searching with Geo
  • Redis Streams for Data Ingestion

Week 4

  • Rate-Limiting
  • Blocking Commands
  • Time-Series Data
  • Error Handling and Debugging
  • Understanding Client Internals: Protocols, Binary Data, and Encoding

Week 5

  • Final Exam
Course Number
RU102JS
Starts
February 20, 2024
Ends
April 30, 2024
Estimated Effort
~ 3 hours per week

Prerequisites

RU102JS has no course prerequisites. However, we assume that students already understand:

  • The JavaScript programming language (including ES6 features)
  • The Node.js programming model
  • The basics of the Express web application framework
  • Redis and Redis Data Structures (approximately to the level covered in the RU101 course)

Software Requirements

  • Web Browser: Firefox 39.0+ or Chrome 43+
  • Operating System: Mac OS X 10.7+ 64-bit, Ubuntu 14.04+ 64-bit, or Windows 10
  • Software: Local installs of Node.js 8.9.3 plus Docker or local install of Redis Stack. RedisInsight recommended but not required.
  • Access to youtube.com, university.redis.com and github.com
A photograph of Simon Prickett
Instructor Simon Prickett

Simon Prickett is the Principal Developer Advocate at Redis. He began his career writing C++ for Hewlett-Packard Labs, and has subsequently held senior roles with companies ranging from startups to enterprises including Capital One, USA Today, and New Zealand’s Customs Service.

Simon has created software for mobile and embedded devices since the late 1990s, from early browser-based cellphone portals to today’s IoT and cloud architectures. The need for high performance, efficiency, and personalization that makes these systems successful led him to discover Redis.

Away from professional life Simon enjoys traveling, cycling, and building devices with microcontrollers. Simon holds a Computing Science degree from Aston University, located in Birmingham England.