Redis is primarily governed by rules and policies defined in the Redis configuration file. It contains definitions such as Redis server binding address, maximum memory, maximum number of clients, etc. Although the default configuration is
suitable for development and testing purposes, learning how to edit and modify the Redis configuration file can be beneficial, especially in production
Let’s learn about the most fundamental settings of the Redis configuration and modify
Where is Redis.conf
located? The Redis configuration file is located in the root directory where you installed Redis
Note: This may depend on the method used to install Redis. If you installed Redis through a package manager, the configuration file is located in /etc/redis/redis.conf
The file is a text file but contains configuration directives. You can edit this file from the terminal using a basic text editor like nano, vim, emacs, etc.
The configuration file follows a specific format to define the rule and parameter. The structure is as shown: The
command begins with the
keyword, which denotes the rule configures and its value or parameter
The Redis configuration file is well documented with descriptive messages in each block
Each line that begins with a hash sign is treated as a comment. This means that the server will not interpret it as part of the configuration at startup.
To activate a configuration block that has been disabled, delete the # sign above.
Before activating a configuration block, be sure to read what the documentation says and the effects of modifying it.
The Redis configuration file is organized into specific blocks. Each block contains instructions for a particular feature of the Redis server.
These blocks include:
- GENERAL SNAPSHOTS
- KEYS SECURITY CLIENT TRACKING
- OOM CONTROL
- APPEND LUA MODE SCRIPTING REDIS
- DOCKER/NAT SUPPORT LATENCY
- GOPHER SERVER
- ADVANCED SETTINGS
- ACTIVE DEFRAGMENTATION
discuss every block of configuration, it’s good to understand what it entails
The block includes retention settings when managing multiple Redis servers. It should be located at the top of the configuration file.
The modules block contains the configuration of the modules enabled on the Redis server. In addition, you can refer to the Redis modules page to learn how to use the modules provided.
The network block sets the settings for how the Redis server starts. Example configuration includes running address and ports, client timeout, and so on.
This block contains the general settings of the Redis server, such as running Redis as a daemon. You can also define a custom location for the log file, logging level, number of Redis cluster databases, and so on.
This block contains the configuration options when saving Redis databases to a file. Here you can define rules such as database compression, location and name of your saved file, etc.
Defines rules for how clients that connect to the Redis server are managed. This is where you will find settings such as the maximum number of clients allowed on the server.
This block will find Redis memory eviction policies and the
maximum memory allowed on the
This block contains non-typical Redis database settings, such as list compression levels, encoding, etc
Redis configuration rules
Below are some critical configurations for the Redis
Changing settings at run time
If you want to change the settings when the server runs, you can use the CONFIG SET command.
This will set the specified settings at
run time and reset to the settings specified in the configuration file after a reboot
An example of the config set command is as follows:
The command will change the number of maxclients during runtime. After the reboot, Redis will use the one defined in the configuration file.
This article explored how to work with and use the Redis configuration file. We learned several blocks in the Redis conf file and edited them.
We hope you found this article helpful. See you in the next one!!