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.
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.
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.
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.
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.
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.
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!
— Java Code Geeks (@javacodegeeks) October 17, 2015