Enterprise Java

Redis Tutorial: NoSQL key-value store

Course Overview

Redis is an open-source, networked, in-memory, key-value data store with optional durability, written in ANSI C. According to the monthly ranking by DB-Engines.com, Redis is the most popular key-value store. Its name means REmote DIctionary Server.

Redis is BSD licensed and is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets.

This is a crash course on Redis. You will learn how to install Redis and start up the server. Additionally, you will mess around with the Redis command line.

More advanced topics follow, such as replication, sharding and clustering, while the integration of Redis with Spring Data is also explained.

About the Author

Andriy has completed his Master Degree in Computer Science at Zhitomir Institute of Engineering and Technologies, Ukraine. For the last 15 years he has been working as the Consultant/Software Developer/Senior Software Developer/Team Lead for many successful projects.

Andriy has great experience in enterprise architecture, web development, software development practices and software platforms, object-oriented analysis and design, development of rich user interfaces, relational database management systems, NoSQL solutions and operating systems.

Lessons

Redis Installation

In this lesson, you will get your hands dirty by installing Redis on various platforms, including Linux and Windows. The next step is to validate the configuration to ensure that everything works as intented. Next, you continue with the server configuration and fine tuning to adjust it to your special needs. The best and simplest way to explore Redis in full power is via its Command Line Interface (CLI). The server CLI is your friend in this and by using it, you will learn how to perform server administration. Overall, this lesson will get you started with Redis so that you can fully leverage this powerful NoSQL database.

Redis Commands – Using Redis Command Line

In this lesson, you will get to know the Redis command line.You will learn how to use commands to operate all the different data structures, like Keys, Strings, Hashes, Lists, Sets and how to manage Transactions and Scripting. Finally, you will see how to manage the Redis server with the appropriate commands.

Redis Sharding

In this lesson, we will mainly focus on sharding. Data sharding (partitioning) is the technique to split all data across multiple Redis instances so that every instance will only contain a subset of the keys. Such a process allows mitigating data grown by adding more and more instances and dividing the data to smaller parts (shards or partitions).We will see what techniques and implementations are currently available for Redis sharding and we will see examples of each category.

Redis Replication

In this lesson, we will focus on Replication. Replication is a very important feature of any data-oriented solution: either sophisticated relation database or simple key/value store. Replication allows having many copies of your data to be distributed across many nodes (servers), data centers and/or geographical regions.Replication in Redis can be a bit tricky to configure, but can lead to a very robust architecture.

Redis Clustering

In this lesson, we will focus on Clustering. Redis clustering (or simply Redis Cluster) is a distributed Redis deployment with the ability to automatically split the dataset among multiple nodes, provide high performance and linear scalability, retain all the writes originating from clients and more. We will see how to install and configure a Redis cluster, the commands to manage and administrate it, as well as how to leverage its capabilities in a NoSQL DB setup.

Spring Data and Redis

In this lesson, we will use Redis in a real-world application. For this reason, we are going to build a simple Java application which uses Redis and the excellent Spring Data Redis project together with the Spring Framework. We will choose a Redis Java client, introduce the relevant dependencies, perform the necessary configuration and finally write the access code.

Make sure to retweet this, let your social followers know!

Andrey Redko

Andriy is a well-grounded software developer with more then 12 years of practical experience using Java/EE, C#/.NET, C++, Groovy, Ruby, functional programming (Scala), databases (MySQL, PostgreSQL, Oracle) and NoSQL solutions (MongoDB, Redis).
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Utkarsh Mehta
Utkarsh Mehta
9 years ago

when this course is going to be start.

6 years ago

when it form a minibook

Back to top button