Redis Sentinel Reset
- Redis Sentinel is a distributed system, this means that usually you want to run multiple Sentinel processes across your infrastructure, and this processes will use gossip protocols in order to understand if a master is down and agreement protocols in order to get authorized to perform the failover and assign a new version to the new.
- Shut down the redis slave to be removed. Remove slaveof statement from conf # Generated by CONFIG REWRITE slaveof 10.128.130.139 6379 Send a SENTINEL RESET mastername command to all Sentinel instances. One after the other, waiting at least 30 seconds between instances. Now the redis slave is standalone, and sentinels forget this slave.
- # Host and port we will listen for requests on bind 127.0.0.1 port 16380 # # 'redis-cluster' is the name of our cluster # # each sentinel process is paired with a redis-server process # sentinel monitor redis-cluster 127.0.0.1 6380 2 sentinel down-after-milliseconds redis-cluster 5000 sentinel parallel-syncs redis-cluster 1 sentinel failover.
For a complete list of options supported by the Redis result backend, see Redis backend settings. If you are using Sentinel, you should specify the mastername using.
Cheatsheet
Introduction
Redis is an open-source, in-memory key-value data store. Redis has several commands that allow you to make changes to the Redis server’s configuration settings on the fly. This tutorial will go over some of these commands, and also explain how to make these configuration changes permanent.
How To Use This Guide
This guide is written as a cheat sheet with self-contained examples. We encourage you to jump to any section that is relevant to the task you’re trying to complete.
The commands shown in this guide were tested on an Ubuntu 18.04 server running Redis version 4.0.9. To set up a similar environment, you can follow Step 1 of our guide on How To Install and Secure Redis on Ubuntu 18.04. We will demonstrate how these commands behave by running them with redis-cli
, the Redis command line interface. Note that if you’re using a different Redis interface — Redli, for example — the exact output of certain commands may differ.
Be aware that managed Redis databases typically do not allow users to alter the configuration file. If you’re working with a Managed Database from DigitalOcean, the commands outlined in this guide will result in errors.
Changing Redis’s Configuration
The commands outlined in this section will only alter the Redis server’s behavior for the duration of the current session, or until you run config rewrite
which will make them permanent. You can alter the Redis configuration file directly by opening and editing it with your preferred text editor. For example, you can use nano
to do so:
Warning: The config set
command is considered dangerous. By changing your Redis configuration file, it’s possible that you will cause your Redis server to behave in unexpected or undesirable ways. We recommend that you only run the config set
command if you are testing out its behavior or you’re absolutely certain that you want to make changes to your Redis configuration.
It may be in your interest to rename this command to something with a lower likelihood of being run accidentally.
config set
allows you to reconfigure Redis at runtime without having to restart the service. It uses the following syntax:
For example, if you wanted to change the name of the database dump file Redis will produce after you run a save
command, you might run a command like the following:
If the configuration change is valid, the command will return OK
. Otherwise it will return an error.
Note: Not every parameter in the redis.conf
file can be changed with a config set
operation. For example, you cannot change the authentication password defined by the requirepass
parameter.
Making Configuration Changes Permanent
config set
does not permanently alter the Redis instance’s configuration file; it only changes Redis’s behavior at runtime. To edit redis.conf
after running a config-set
command and make the current session’s configuration permanent, run config rewrite
:
This command does its best to preserve the comments and overall structure of the original redis.conf
file, with only minimal changes to match the settings currently used by the server.
Python Redis Sentinel
Like config set
, if the rewrite is successful config rewrite
will return OK
.
Redis Sentinel Cluster Setup
Checking Redis’s Configuration
To read the current configuration parameters of a Redis server, run the config get
command. config get
takes a single argument, which can be either an exact match of a parameter used in redis.conf
or a glob pattern. For example:
Depending on your Redis configuration, this command might return:
You can also return all of the configuration parameters supported by config set
by running config get *
.
Conclusion
This guide details the redis-cli
commands used to make changes to a Redis server’s configuration file on the fly. If there are other related commands, arguments, or procedures you’d like to see outlined in this guide, please ask or make suggestions in the comments below.
Redis Sentinel And Cluster
For more information on Redis commands, see our tutorial series on How to Manage a Redis Database.