RU102JS · Self paced
Redis for JavaScript developers
Build full-fledged Redis applications with Node.js and Express.
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
- 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. Redis Insight recommended but not required.
- Access to youtube.com, university.redis.com and github.com
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.