Book Image

Redis 4.x Cookbook

Book Image

Redis 4.x Cookbook

Overview of this book

Redis is considered the world's most popular key-value store database. Its versatility and the wide variety of use cases it enables have made it a popular choice of database for many enterprises. Based on the latest version of Redis, this book provides both step-by-step recipes and relevant the background information required to utilize its features to the fullest. It covers everything from a basic understanding of Redis data types to advanced aspects of Redis high availability, clustering, administration, and troubleshooting. This book will be your great companion to master all aspects of Redis. The book starts off by installing and configuring Redis for you to get started with ease. Moving on, all the data types and features of Redis are introduced in detail. Next, you will learn how to develop applications with Redis in Java, Python, and the Spring Boot web framework. You will also learn replication tasks, which will help you to troubleshoot replication issues. Furthermore, you will learn the steps that need to be undertaken to ensure high availability on your cluster and during production deployment. Toward the end of the book, you will learn the topmost tasks that will help you to troubleshoot your ecosystem efficiently, along with extending Redis by using different modules.
Table of Contents (21 chapters)
Title Page
Dedication
Packt Upsell
Foreword
Contributors
Preface
13
Windows Environment Setup
Index

Getting server information


The most comprehensive and important information about a Redis instance can be obtained with redis-cli with the INFO command. In this section, we will see how to use the INFO command to fetch these essential statistics.

Getting ready…

You need an up-and-running Redis Server as we described in the Starting and shutting down Redis recipe in this chapter.

How to do it...

Follow these steps to get server information of Redis:

  1. Connect to a Redis instance and then use the INFO command:
$ bin/redis-cli  
127.0.0.1:6379> INFO 

The result looks as follows:

# Server 
redis_version:4.0.1 
... 
# Clients 
connected_clients:1 
... 
# Memory 
used_memory:828352 
used_memory_human:808.94K 
used_memory_rss:9420800 
used_memory_rss_human:8.98M 
... 

# Persistence 
loading:0 
rdb_changes_since_last_save:0 
rdb_bgsave_in_progress:0 
rdb_last_save_time:1504223311 
... 

# Stats 
total_connections_received:1 
total_commands_processed:1 
instantaneous_ops_per_sec:0 
... 

# Replication 
role:master 
connected_slaves:0 
... 

# CPU 
used_cpu_sys:0.01 
used_cpu_user:0.00 
... 

# Cluster 
cluster_enabled:0
  1. You can select a specific section by adding an optional <section> parameter.

For example, you will get the memory metrics by sending INFO memory in redis-cli:

  1. Another way to get information from a Redis instance is by using redis-cli INFO directly in a shell command line. In this way, it is quite handy for piping the output to a script for metrics analysis or performance monitoring.

How it works...

The INFO command gives you all the current Redis metrics and the pattern of each metric is metric-name: metric-value, which can be easily parsed afterwards.

The following table summarizes the description of each section returned by INFO:

Section name

Description

Server

Basic information about the Redis Server

Clients

Status and metrics of client connections

Memory

Overall memory consumption metrics

Persistence

Data persistence related states and metrics

Stats

General statistics

Replication

Status and metrics of master-slave replication

CPU

CPU consumption

Cluster

Status of Redis Cluster

Keyspace

Database related statistics

There's more…

It is a common practice to build a Redis monitor application by getting information from the INFO command periodically.

See also

  • Refer to the Health checkingin Redis, Troubleshooting latency issues, and Troubleshooting memory issues sections in Chapter 10, Troubleshooting Redis for more detailed use of INFO for Redis maintenance operation and troubleshooting
  • You can further refer to https://redis.io/commands/INFO, which lists the meanings of all the metrics returned by INFO