Changing the Redis configuration
In IBM Cloud® Databases for Redis, you can change some of the Redis configuration settings to tune your databases to your use-case. In a typical Redis setting, you can change the configuration from the command line by using CONFIG SET. You can still use CONFIG SET on your deployment but the changes do NOT persist if there is a failover, node restart, or other event on your deployment. Changing the configuration
with CONFIG SET can be used for testing, evaluation, and tuning purposes.
In Redis 6 and above versions, only CONFIG GET and CONFIG RESETSTAT are exposed.
To make permanent changes to the database configuration, use the Cloud Databases CLI plug-in or API to write the changes to the configuration file for your deployment.
To make a change, you send a JSON object with the settings that you want to change and their new values. For example, to set the maxmemory-policy setting, you would supply the following either to the CLI or to the API.
{"configuration":{"maxmemory-policy":"allkeys-lru"}}
Using the CLI
View the configuration schema of possible settings through the Cloud Databases cli-plugin with the cdb deployment-configuration-schema command.
ibmcloud cdb deployment-configuration-schema <INSTANCE_NAME_OR_CRN>
To change your configuration, use the cdb deployment-configuration command.
ibmcloud cdb deployment-configuration <INSTANCE_NAME_OR_CRN> [@JSON_FILE | JSON_STRING]
The command reads the changes that you would like to make from the JSON object or a file.
Using the API
There are two deployment-configuration endpoints, one for viewing the configuration schema and one for changing the configuration. To view the configuration schema, send a GET request to /deployments/{id}/configuration/schema.
To change the configuration, send the settings that you would like to change as a JSON object in the request body of a PATCH request to /deployments/{id}/configuration.
For more information, see the API reference.
Available configuration settings
To check the current value of a setting, use CONFIG GET from a CLI client.
You can check all of the settings by using CONFIG GET *.
Many of the settings are used to configure Redis as a cache. For more information, see the Configuring Redis as a Cache page.
| Setting | Default | Notes |
|---|---|---|
maxmemory |
80% of your deployment's memory | Determines the amount of data that you can store in Redis. |
appendonly |
yes |
Enables or disables Redis persistence. |
maxmemory-policy |
noeviction |
Determines eviction behavior when maxmemory limit is reached. |
maxmemory-samples |
5 |
Tunes LRU eviction algorithm when Redis is configured as a cache. |
stop-writes-on-bgsave-error |
yes |
Redis stops accepting writes if it detects an unsuccessful backup snapshot. |