Kyle BankerKyle 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. When not immersed in tech, Kyle can be found spending time in the Colorado mountains or playing piano in his jazz trio. He holds dual degrees in English literature and philosophy. |
Redis for Java Developers
RU102J teaches students how to build robust Redis client applications in Java using the Jedis client library. RU102J focuses on writing idiomatic Java applications with the Jedis API, including how to work with language specific patterns for managing Redis database connections, handling errors and using standard classes from the JDK. The course material uses the Jedis API directly without additional frameworks, so students learn the basic principles of working with Redis.
Course Number
RU102JSelf-Paced
Estimated Effort
3:00/week
What you will learn
RU102J teaches students how to build robust Redis client applications in Java. RU102J focuses on writing idiomatic Java applications with the Jedis API, including how to work with language-specific patterns for managing Redis database connections, handling errors, and using standard classes from the JDK.
What you will build
In order to get practical experience with Java and Redis, you'll help to build a solar power monitoring and ingestion application. The project consists of three components:
- A command-line data loading application
- A REST API backend built with Dropwizard
- A Vue.js front end
The API will load and query data from Redis using a data model that we'll develop as part of the course. The project will involve the use of with several Redis data structures, including:
- Hashes
- Sets
- Geospatial indexes
- Streams
We'll demonstrate best-practices like proper error handling and recovery, try-with-resource blocks, and connection management.
The server will also use Redis to implement a rate-limiting system on API calls.
Course Outline
Week 1 |
Week 2 |
Week 3 |
---|---|---|
|
|
|
Week 4 |
Week 5 |
|
|
|
Course Requirements
There are no course prerequisites for RU102J, but the course assumes the student already understands:
- The Java programming language
- How to build and compile Java software in a shell environment
- Redis and Redis Data Structures
The course assumes that the student is familiar with Java programming and Maven. Students should already be familiar with Redis and Redis data structures to the level covered in RU101.
Software 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)