Help Center/ Distributed Cache Service/ User Guide/ Managing Instances/ Modifying Configuration Parameters of a DCS Instance
Updated on 2025-09-02 GMT+08:00

Modifying Configuration Parameters of a DCS Instance

On the DCS console, you can configure parameters for an instance to achieve optimal DCS performance. After the instance configuration parameters are modified, the modification takes effect immediately without the need to manually restart the instance. For a cluster instance, the modification takes effect on all shards.

For example, to disable data persistence, set appendonly to no. For more instance parameters, see DCS Instance Configuration Parameters.

Modifying Configuration Parameters of an Instance

  1. Log in to the DCS console.
  2. Click in the upper left corner of the console and select the region where your instance is located.
  3. In the navigation pane, choose Cache Manager.
  4. On the Cache Manager page, click the name of the DCS instance you want to configure.
  5. On the instance details page, choose Instance Configuration > Parameters.
  6. Click Modify in the row containing the desired parameter. To modify multiple parameters at a time, click Modify above the parameter list.

    Figure 1 Modifying parameter(s)

  7. Modify parameters as required.

    The parameters are described in DCS Instance Configuration Parameters. In most cases, you can retain default values.

  8. After you have finished setting the parameters, click Save.
  9. Click Yes to confirm the modification.

    When the parameter modification task is in the Successful state, the parameter is modified.

DCS Instance Configuration Parameters

  • For more information about the parameters described in Table 1, visit https://redis.io/topics/memory-optimization.
  • Configurable parameters and their values vary depending on the instance type. If a parameter is not displayed in the Parameters page on the console, it cannot be modified.
Table 1 DCS Redis instance configuration parameters

Parameter

Description

Exception Scenario

Value Range

Default Value

active-expire-num

Number of randomly checked keys in regular expired key deletions.

Enlarging this parameter may increase CPU usage or command latency in a short period of time. Lessening this parameter may increase expired keys in the memory.

This parameter is not available for DCS Redis 3.0 and 6.0 professional edition instances.

NOTE:

This parameter was added in September 2021. If the parameter value cannot be changed for instances created before September 2021, submit a ticket and contact customer service.

1–1000

20

timeout

The maximum amount of time (in seconds) a connection between a client and the DCS instance can be allowed to remain idle before the connection is terminated. The value 0 indicates that the parameter is disabled. That is, the client is not disconnected when it is idle.

-

0–7,200

Unit: second

0

appendfsync

Controls how often fsync() transfers cached data to the disk. Note that some OSs will perform a complete data transfer but some others only make a "best-effort" attempt.

Single-node instances do not have this parameter.

  • no: fsync() is never called. The OS will flush data when it is ready. This mode offers the highest performance.
  • always: fsync() is called after every write to the AOF. This mode is very slow, but also very safe.
  • everysec: fsync() is called once per second. This mode provides a compromise between safety and performance.

no

appendonly

Indicates whether to log each modification of the instance. By default, data is written to disks asynchronously in Redis. If the logging (data persistence) is disabled, recently-generated data might be lost in the event of a power failure.

Single-node instances do not have this parameter.

Available in master/standby or cluster DCS Redis 4.0 and later basic edition or master/standby enterprise (performance) edition instances.

If this parameter is not displayed on the console, submit a ticket and contact customer service to allow the configuration item.

  • yes: Logs are enabled, that is, data persistence is enabled.
  • no: Logs are disabled, that is, data persistence is disabled.
  • only-replica: Enable data persistence only on replica nodes.
    CAUTION:

    When parameter appendonly of a master/standby or read/write splitting instance is set to only-replica, the master/standby switchover priority of all replica nodes cannot be set to 0 (100: default; 0: disabled). Otherwise, data persistence will be automatically enabled on the master node.

yes

client-output-buffer-limit-slave-soft-seconds

When the client-output-buffer-slave-soft-limit parameter is exceeded for more than the value of this parameter, the server drops the connection. The smaller the value, the easier the disconnection.

Single-node instances do not have this parameter.

0–60

Unit: second

60

client-output-buffer-slave-hard-limit

Hard limit on the output buffer of replica clients. Once the output buffer exceeds the hard limit, the client is immediately disconnected. The smaller the value, the easier the disconnection.

Single-node instances do not have this parameter.

0–17,179,869,184

Unit: byte

1,717,986,918

client-output-buffer-slave-soft-limit

Soft limit on the output buffer of replica clients. Once the output buffer exceeds the soft limit and continuously remains above the limit for the time specified by the client-output-buffer-limit-slave-soft-seconds parameter, the client is disconnected. The smaller the value, the easier the disconnection.

Single-node instances do not have this parameter.

0–17,179,869,184

Unit: byte

1,717,986,918

maxmemory-policy

The policy applied when the maxmemory limit is reached. 8 values are available.

-

  • volatile-lru: Evict keys by trying to remove the less recently used (LRU) keys first, but only among keys that have an expire set.
  • allkeys-lru: Evict keys by trying to remove the LRU keys first.
  • volatile-random: Evict keys randomly, but only among keys that have an expire set.
  • allkeys-random: Evict keys randomly.
  • volatile-ttl: Evict keys with an expire set, and try to evict keys with a shorter time to live (TTL) first.
  • noeviction: Do not delete any keys and only return errors when the memory limit was reached.
  • volatile-lfu: Evict keys by trying to remove the less frequently used (LFU) keys first, but only among keys that have an expire set.
  • allkeys-lfu: Evict keys by trying to remove the LFU keys first.

For details about eviction policies, see the Redis official website.

volatile-lru

NOTE:

If the DCS Redis instance is created before July 2020 and this parameter has not been modified, the default value is noeviction. If the instance is created after July 2020, the default value is volatile-lru.

lua-time-limit

Maximum time allowed for executing a Lua script.

-

100–5,000

Unit: millisecond

5,000

master-read-only

Sets the instance to be read-only. All write operations will fail.

Proxy Cluster instances do not have this parameter.

  • yes
  • no

no

maxclients

The maximum number of clients allowed to be concurrently connected to a DCS instance. The larger the value, the more costly the connection to the server, which affects the server performance and increases the command latency. An excessively small value may constrain the server performance.

This parameter specifies the maximum number of connections on a single node (single shard).

  • Cluster: Maximum connections per node = Maximum connections of the instance/Shard quantity
  • Single-node and master/standby: Maximum connections on a single node = Maximum connections of the instance

Read/Write splitting instances do not support this parameter.

1000–50,000

10,000

proto-max-bulk-len

Maximum size of a single element request. Set this parameter to be greater than the customer request length. Otherwise, the request cannot be executed.

-

1,048,576–536,870,912

Unit: byte

536,870,912

repl-backlog-size

The replication backlog size. The backlog is a buffer that accumulates replica data when replicas are disconnected from the master. When a replica reconnects, a partial synchronization is performed to synchronize the data that was missed while replicas were disconnected.

-

16,384–1,073,741,824

Unit: byte

1,048,576

repl-backlog-ttl

The amount of time, in seconds, before the backlog buffer is released, starting from the last a replica was disconnected. The value 0 indicates that the backlog is never released.

-

0–604,800

Unit: second

3,600

repl-timeout

Replication timeout.

Single-node instances do not have this parameter.

30–3,600

Unit: second

60

hash-max-ziplist-entries

The maximum number of hashes that can be encoded using ziplist, a data structure optimized to reduce memory use.

-

1–10,000

512

hash-max-ziplist-value

The largest value allowed for a hash encoded using ziplist, a special data structure optimized for memory use.

-

1–10,000

64

set-max-intset-entries

When a set is composed entirely of strings and number of integer elements is less than this parameter value, the set is encoded using intset, a data structure optimized for memory use.

-

1–10,000

512

zset-max-ziplist-entries

The maximum number of sorted sets that can be encoded using ziplist, a data structure optimized to reduce memory use.

-

1–10,000

128

zset-max-ziplist-value

The largest value allowed for a sorted set encoded using ziplist, a special data structure optimized for memory use.

-

1–10,000

64

latency-monitor-threshold

The minimum amount of latency that will be logged as latency spikes

If this parameter is set to 0, latency monitoring is disabled. If this parameter is set to a value greater than 0, all events blocking the server for a time greater than the configured value will be logged.

To obtain statistics data, and configure and enable latency monitoring, run the LATENCY command.

CAUTION:

The latency-monitor-threshold parameter is usually used for fault location. After locating faults based on the latency information collected, change the value of latency-monitor-threshold to 0 to avoid unnecessary latency.

Proxy Cluster instances do not have this parameter.

0–86,400,000

Unit: millisecond

0

notify-keyspace-events

Controls which keyspace events notifications are enabled for. If this parameter is configured, the Redis Pub/Sub feature will allow clients to receive an event notification when a Redis data set is modified. Leaving this parameter blank disables the function. Specifying this parameter with a non-null string enables the function.

Proxy Cluster instances do not have this parameter.

A combination of different values can be used to enable notifications for multiple event types. Possible values include:

K: Keyspace events, published with the __keyspace@*__ prefix

E: Keyevent events, published with __keyevent@*__ prefix

g: Generic commands (non-type specific) such as DEL, EXPIRE, and RENAME

$: String commands

l: List commands

s: Set commands

h: Hash commands

z: Sorted set commands

x: Expired events (events generated every time a key expires)

e: Evicted events (events generated when a key is evicted from maxmemory)

A: an alias for "g$lshzxe"

The parameter value must contain either K or E. A cannot be used together with any of the characters in "g$lshzxe". For example, the value Kl means that Redis will notify Pub/Sub clients about keyspace events and list commands. The value AKE means Redis will notify Pub/Sub clients about all events.

Ex

slowlog-log-slower-than

Slow queries cover scheduled commands whose execution is delayed. slowlog-log-slower-than is the maximum time allowed for command execution. If this threshold is exceeded, Redis will record the query.

-

0–1,000,000

Unit: microsecond

10,000

proxy-slowlog-log-slower-than

Slow queries of a proxy cover scheduled commands whose execution is delayed. proxy-slowlog-log-slower-than is the maximum time allowed for command execution. If this threshold is exceeded, the proxy will record the query.

Currently, only Proxy Cluster and read/write splitting instances in the CN East-Shanghai2 and CN South-Guangzhou regions.

30,000–2,000,000

Unit: microsecond

256,000

slowlog-max-len

The maximum allowed number of slow queries that can be logged. Slow query log consumes memory, but you can reclaim this memory by running the SLOWLOG RESET command.

-

0–1000

128

proxy-slowlog-max-len

The maximum allowed number of slow queries of a proxy that can be logged. Slow query log consumes memory, but you can reclaim this memory by running the SLOWLOG RESET command.

Currently, only Proxy Cluster and read/write splitting instances in the CN East-Shanghai2 and CN South-Guangzhou regions.

0–1000

128

multi-db

Enables or disables the multiple database feature. Manually back up the instance and clear all instance data before you enable or disable this option. Cleared data can be restored by importing backup files on the Data Migration page.

For details about restrictions on enabling multi-DB for a Proxy Cluster, see Notes and Procedure for Enabling Multi-DB for Proxy Cluster Instances.

Only Proxy Cluster DCS Redis 4.0 and later instances have this parameter.

  • yes: enabled
  • no: disabled

no

auto-kill-timeout-lua-process

When this parameter is enabled, processes running the lua script are killed when their execution times out. However, scripts with write operations are not killed, but their nodes automatically restart (if persistence has been enabled for the instance) without saving the write operations.

Single-node instances and DCS Redis 3.0 instances do not have this parameter.

  • yes: enabled
  • no: disabled

no

audit-log-customer-command-list

Commands to record in audit logs (only write commands are recorded by default.) This parameter is valid only when the audit log function is enabled.

Viewing Audit Logs of a DCS Redis Instance is available only in certain regions. This parameter is displayed only for Proxy Cluster instances when the audit log feature is supported.

A maximum of 10 commands are allowed. For each command, use up to 10 characters including letters, periods (.), hyphens (-), and underscores (_), and start and end with a letter. Separate multiple commands with spaces, and end your input with a space.

-

backend-master-only

Read/Write splitting is disabled by default for Proxy Cluster instances. In this case, read and write requests are allocated to the master node of a Proxy Cluster instance. A Proxy Cluster instance with read/write splitting enabled allocates write requests to the master node, and read requests to the replica node by default.

When read-only-slave-when-wr-split is set to no, read requests are evenly distributed to the master and replica nodes in the Proxy Cluster.

Only Proxy Cluster instances have this parameter.

  • yes: disables read/write splitting.
  • no: enables read/write splitting.

yes

read-only-slave-when-wr-split

Valid only when read/write splitting is enabled for a Proxy Cluster or read/write splitting instance. (Read/Write splitting is enabled for read/write splitting instances by default. To enable it for a Proxy Cluster instance, set backend-master-only to no.)

A Proxy Cluster instance or a read/write splitting one with read/write splitting enabled performs reads only on the replica node by default. Reads can be performed on both the master and replica nodes as configured.

Available only for Proxy Cluster and read/write splitting DCS Redis 4.0 and later instances.

yes: Read only on replica nodes.

no: Read on both master and replica nodes.

yes

support-dispatch-to-replica-list

Evenly allocates specified read commands to slave nodes. Currently, only the KEYS command can be configured.

Available only for Proxy Cluster or read/write splitting instances whose proxy version is 5.0.14.12 or later.

Left blank by default. Setting this parameter to KEYS performs the KEYS command only on the slave node.

-

dispatch-pubsub-to-fixed-shard

This parameter specifies whether pub/sub channels are on the shard of slot 0. When this parameter is enabled, the pub/sub processing logic is consistent with that of single-node instances. You are advised to enable this parameter if you do not depend heavily on pub/sub. If you depend heavily on pub/sub, use the default configuration to allocate subscriptions to all shards.

Only Proxy Cluster instances have this parameter.

  • yes: Enable this parameter to allocate subscription channels to the shard of slot 0.
  • no: Disable this parameter to allocate channels to the shard of each channel-hashed slot.

no

readonly-lua-route-to-slave-enabled

If enabled, read-only Lua scripts of read-only users are executed and routed to the standby node.

Only read/write splitting instances support this parameter.

  • yes: enabled
  • no: disabled

no

cluster-sentinel-enabled

To support Sentinels for the instance.

Only Proxy Cluster instances have this parameter.

  • yes: enabled
  • no: disabled

no

scan-support-wr-split

The SCAN command is executed on the master node when this parameter is disabled, or is executed on the replica node otherwise.

Enabling this parameter relieves SCAN commands on the master node. But newly written data in the master node may not be synchronized to replicas in time.

Only Proxy Cluster instances have this parameter.

Proxy Cluster instances created earlier may not support this parameter. In this case, submit a ticket and contact customer service to upgrade instances.

  • yes: enabled
  • no: disabled

no

Table 2 DCS Memcached instance configuration parameters

Parameter

Description

Value Range

Default Value

timeout

The maximum amount of time (in seconds) a connection between a client and the DCS instance can be allowed to remain idle before the connection is terminated. A setting of 0 means that this function is disabled.

0–7200

Unit: second

0

maxclients

The maximum number of clients allowed to be concurrently connected to a DCS instance.

1000–10,000

10,000

maxmemory-policy

The policy applied when the maxmemory limit is reached.

  • volatile-lru: Evict keys by trying to remove the less recently used (LRU) keys first, but only among keys that have an expire set.
  • allkeys-lru: Evict keys by trying to remove the LRU keys first.
  • volatile-random: Evict keys randomly, but only among keys that have an expire set.
  • allkeys-random: Evict keys randomly.
  • volatile-ttl: Evict keys with an expire set, and try to evict keys with a shorter time to live (TTL) first.
  • noeviction: Do not delete any keys and only return errors when the memory limit was reached.

noeviction

reserved-memory-percent

Percentage of the maximum available memory reserved for background processes, such as data persistence and replication.

0–80

30

Related Documents