What you’ll learn
Redis for Java Developers teaches you how to build robust Redis client applications in Java using the Jedis client library. The course focuses on writing idiomatic Java applications with the Jedis API, describing 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 with no additional frameworks. As such, the course is appropriate for all Java developers, and it clearly illustrates the principles involved in writing applications with Redis.
What you’ll build
To get practical experience with Java and Redis, and to make the content a lot more relevant and interesting, 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 several Redis data structures, including:
- Geospatial indexes
- The server will also use Redis to implement a rate-limiting system on API calls.
Throughout the course, you’ll get the opportunity to try what you’ve learned through a series of programming challenges.
- Overview and Introduction
- Hello Redis
- Redis Clients and the Jedis Interface
- Coding Challenge Intro
- Modeling a Domain Problem in Redis
- Storing Solar Site Metrics
- Sorted Sets for Site Energy Status
- Building Leaderboards and Top-N/Bottom-N Queries
- Geo-Indexing Solar Sites
- Criteria Searching with Geo
- Redis Streams for Data Ingestion
- Error Handling
- Understanding Connection Pooling, Multi-threading, and Concurrency
- Connecting to Partitioned Deployments
- Debugging Jedis Programs
- Understanding Client Internals: Protocols, Binary Data, and Encoding
- Final Exam
- Course Number
- October 03, 2023
- November 16, 2023
- Estimated Effort
- ~ 2 hours per week
There are no course prerequisites for RU102J, but the course assumes the student already understands:
- Java and Maven
- Redis and Redis Data Structures, at least at a basic level
- 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: Java 8 SDK or newer plus Docker, or local install of Redis Stack. RedisInsight recommended but not required.
- Access to youtube.com, university.redis.com and github.com
Kyle Banker is the Senior Director of Field Engineering 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.