All Products
Search
Document Center

Tair (Redis® OSS-Compatible):List of configurable parameters for Redis Open-Source Edition

Last Updated:Mar 04, 2026

You can fine-tune and customize parameters for your Tair (Redis OSS-compatible) instances based on your business scenario to improve instance performance and security. Different engine versions and architectures support different parameters. This topic describes each parameter in detail.

Precautions

  • If the Parameter is not supported for current version error is returned when you configure parameters, update the minor version of your instance. For more information, see Upgrade minor and proxy versions.

  • After you submit the modifications for specific parameters, your instance is automatically restarted. During the restart, the instance encounters transient connections that last for a few seconds. On the page for modifying parameters, the Restart and Take Effect column indicates whether the instance must be restarted for the modifications to take effect. For more information, see Set parameters.

Important

This topic covers only parameters for Redis Open-Source Edition instances. For parameters related to Tair (Enterprise Edition) instances, such as memory-optimized, persistent memory-optimized, and disk-based instances, see Configuration parameter list for Tair Enterprise Edition.

Supported parameters and descriptions

To improve readability and clarity, this topic uses the following annotations in tables:

  • ✔️ indicates that the parameter is supported in the specified major version or architecture.

  • ❌ indicates that the parameter is not supported in the specified major version or architecture.

Note

Database kernel parameters

Parameter

Description

Instance major version and architecture

Version 7.0

Version 6.0

Version 5.0

Version 4.0

Version 2.8

#no_loose_check-whitelist-always

Specifies whether to check if the client IP address is in the instance whitelist after you enable password-free access over a VPC. Valid values:

  • yes: Enables the check. After you enable password-free access, you must add the IP address of a client in the same VPC to the instance whitelist to connect to the instance from that client.

    If you enable password-free access but do not correctly configure the whitelist, an error message similar to the following is returned: (error) ERR illegal address.

  • no (default): Disables the check. After you enable password-free access, you do not need to add the IP address of a client in the same VPC to the instance whitelist to connect to the instance from that client.

Note
  • This parameter is supported only for instances that use the classic architecture.

  • For cloud-native architectures, the IP whitelist is always checked, regardless of whether password-free access is enabled.

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

#no_loose_disabled-commands

The disabled commands. You can use this parameter to disable the commands that may have high risks or high time complexity based on your business requirements, such as FLUSHALL, FLUSHDB, KEYS, HGETALL, EVAL, EVALSHA, and SCRIPT.

Note
  • Specify commands in lowercase letters and separate the commands with commas (,).

  • Even if you disable the FLUSHALL command, the Purge Data feature in the Tair console can still be used.

  • To ensure stable instance performance, Tair (Redis OSS-compatible) does not allow commands such as CONFIG to be disabled. For more information, see Commands that cannot be disabled.

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

#no_loose_sentinel-enabled

Specifies whether to enable the Sentinel-compatible mode for standard instances or cluster instances in direct connection mode. Valid values:

  • yes

  • no (default)

Standard ✔️

Cluster ✔️

Read/write splitting ❌

Standard ✔️

Cluster ✔️

Read/write splitting ❌

Standard ✔️

Cluster ✔️

Read/write splitting ❌

Standard ✔️

Cluster ✔️

Read/write splitting ❌

#no_loose_sentinel-password-free-access

When Sentinel mode is enabled, specifies whether to allow password-free execution of Sentinel-related commands. Valid values:

  • yes: Enable. After enabling, you can execute Sentinel commands without a password on any connection and use the SENTINEL command to listen to the +switch-master channel.

  • no (default): Disable.

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

#no_loose_sentinel-password-free-commands

After enabling Sentinel mode and setting #no_loose_sentinel-password-free-access, use this parameter to specify additional commands that can be executed without a password (empty by default).

Important
  • After configuration, you can execute the specified commands without a password on any connection. Proceed with caution.

  • Enter commands in lowercase letters. Separate multiple commands with commas (,).

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

#no_loose_tls-min-version

Sets the minimum TLS version supported by the instance. Valid values:

  • TLSv1 (default)

  • TLSv1.1

  • TLSv1.2

Standard ❌

Cluster ✔️

Read/write splitting ✔️

Standard ❌

Cluster ✔️

Read/write splitting ✔️

Standard ❌

Cluster ✔️

Read/write splitting ✔️

Standard ❌

Cluster ✔️

Read/write splitting ✔️

Standard ❌

Cluster ✔️

Read/write splitting ✔️

appendfsync

The frequency at which to perform the fsync operation for append-only file (AOF) persistence. The default value is everysec and cannot be changed. This parameter is available only if the appendonly parameter is set to yes.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

appendonly

Enables or disables AOF persistence for the primary node. Valid values:

  • yes (default): Enables AOF persistence.

  • no: Disables AOF persistence.

    Note

    Redis database (RDB) persistence is performed once a day by default. For more information, see Automatic or manual backup.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

  • client-output-buffer-limit pubsub

  • client-output-buffer-limit normal

pubsub limits the output buffer for publish/subscribe clients. Default value: 33554432 8388608 60.

normal limits the output buffer for regular clients. Default value: 524288000 0 0.

Specify values in the format: <hard limit> <soft limit> <soft seconds>.

  • <hard limit>: Disconnects a client if its output buffer size reaches or exceeds this limit. Unit: bytes.

  • <soft limit> and <soft seconds>: Disconnects a client if its output buffer size remains at or above the soft limit for at least the specified number of seconds. Unit for soft limit: bytes. Unit for soft seconds: seconds.

Important
  • Only instances compatible with Redis 6.0 or later support the client-output-buffer-limit normal parameter.

  • Client output buffers consume memory. Excessive command accumulation may cause data eviction or even out-of-memory crashes. Before adjusting this parameter, verify your instance's memory specifications and proceed with caution.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

dynamic-hz

Enables or disables dynamic background task frequency adjustment. Valid values:

  • yes (default): Enable.

  • no: Disable.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

  • hash-max-ziplist-entries

  • hash-max-ziplist-value

For instances compatible with Redis 6.0 and earlier, ziplist is used as the default codec for hashes. A hash object uses ziplist encoding when both of the following conditions are met:

  • The number of key-value pairs in the hash is less than the value of hash-max-ziplist-entries.

  • The string length of both the keys and values in the hash is less than the value of hash-max-ziplist-value.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

  • hash-max-listpack-entries

  • hash-max-listpack-value

For instances compatible with Redis 7.0 and later, listpack is used as the default codec for hashes. A hash object uses listpack encoding when both of the following conditions are met:

  • The number of key-value pairs in the hash is less than the value of hash-max-listpack-entries.

  • The string length of both the keys and values in the hash is less than the value of hash-max-listpack-value.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

hz

The execution frequency of instance background tasks, such as the task to clear expired keys. The range is [1-500]. The default is 10, which means 10 times per second.

Note

A higher value consumes more CPU resources but also results in a higher clearing frequency when there are many expired keys. It also allows the instance to handle timeouts more precisely. We recommend a value no greater than 100.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

latency-tracking

Enables or disables per-command latency tracking. Valid values:

  • yes (default): Enable.

  • no: Disable.

Note

This parameter is available only for Redis 7.0 and later.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

lazyfree-lazy-eviction

Enables or disables lazyfree-based eviction. Valid values:

  • yes: Enable.

  • no (default): Disable.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

lazyfree-lazy-expire

Enables or disables lazyfree-based deletion of expired keys. Valid values:

  • yes (default): Enable.

  • no: Disable.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

lazyfree-lazy-server-del

Specifies whether implicit DEL operations use lazyfree-based asynchronous deletion. Valid values:

  • yes (default): Enable.

  • no: Disable.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

lazyfree-lazy-user-del

Specifies whether explicit DEL commands use lazyfree-based asynchronous deletion. Valid values:

  • yes (default): Enable.

  • no: Disable.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

lazyfree-lazy-user-flush

Automatically converts FLUSHDB, FLUSHALL, SCRIPT FLUSH, and FUNCTION FLUSH commands to lazyfree-based asynchronous deletion mode. Valid values:

  • yes: Enable.

  • no (default): Disable.

Note

This parameter is available only for Redis 7.0 and later.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

list-compress-depth

The number of uncompressed nodes at both ends of a list. The range is [0-65535].

  • 0 (default): No nodes are compressed.

  • 1-65535: The specified number of nodes at each end of the list are not compressed, while the nodes in the middle are compressed.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

list-max-ziplist-entries

These parameters apply only to Redis 2.8-compatible instances. Use ziplist encoding when both conditions are met:

  • The number of elements in the list is less than the value of list-max-ziplist-entries.

  • The byte length of every element in the list is less than the value of list-max-ziplist-value.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

list-max-ziplist-value

  • list-max-ziplist-size

  • list-max-listpack-size

For instances compatible with Redis 6.0 and earlier, ziplist is the default codec for lists (the list-max-ziplist-size parameter). For instances compatible with Redis 7.0 and later, listpack is the default codec for lists (the list-max-listpack-size parameter).

  • A positive value limits the length of the ziplist (or listpack) on each quicklist node by the number of data items. For example, if this parameter is set to 5, each quicklist node's ziplist (or listpack) can contain a maximum of 5 data items.

  • A negative value limits the length of the ziplist (or listpack) on each quicklist node by the number of bytes occupied. Valid values:

    • -5: The size of the ziplist (or listpack) on each quicklist node cannot exceed 64 KB.

    • -4: The size of the ziplist (or listpack) on each quicklist node cannot exceed 32 KB.

    • -3: The size of the ziplist (or listpack) on each quicklist node cannot exceed 16 KB.

    • -2 (default): The size of the ziplist (or listpack) on each quicklist node cannot exceed 8 KB.

    • -1: The size of the ziplist (or listpack) on each quicklist node cannot exceed 4 KB.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

maxmemory-policy

The data eviction policy. When an instance runs out of memory and its usage reaches Maxmemory, data eviction is triggered. You can choose different data eviction policies. Valid values:

Note
  • The Maxmemory for each instance is its specification size and cannot be modified. For example, if you purchase a 2 GB instance, its Maxmemory is 2 GB.

  • In a cluster architecture, when a single data node reaches its Maxmemory (even if the total memory usage has not reached its limit), that data node will trigger data eviction. You need to handle data skew. For more information, see How to handle data skew.

  • LRU stands for least recently used. LFU stands for least frequently used. LRU, LFU, and volatile-ttl are all implemented using approximate random algorithms.

  • volatile-lru (default for memory-optimized and Redis Open-Source Edition instances): From the keys with an expiration time (Expire) set, deletes the least recently used (LRU) key, regardless of whether the key has expired.

  • noeviction (default for persistent memory instances): Does not delete any keys. When the memory limit is reached, new data cannot be written, and the database returns an error message.

  • volatile-lfu: From the keys with an expiration time (Expire) set, deletes the least frequently used (LFU) key.

  • volatile-random: From the keys with an expiration time (Expire) set, randomly deletes some keys.

  • volatile-ttl: From the keys with an expiration time (Expire) set, deletes keys sorted by their time to live (TTL) in ascending order.

  • allkeys-lru: From all keys, deletes the least recently used (LRU) key.

  • allkeys-lfu: From all keys, deletes the least frequently used (LFU) key.

  • allkeys-random: From all keys, randomly deletes some keys.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

maxmemory-eviction-tenacity

Eviction tenacity factor. Controls latency per eviction cycle. Valid values: [0–100]. Default: 10.

  • Lower values reduce latency but may reduce eviction effectiveness.

  • During high write traffic, increase this value—but latency will rise. A value of 100 ignores latency and continuously evicts until memory drops below maxmemory or no evictable keys remain.

Note

This parameter is available only for Redis 7.0.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

active-expire-effort

Expired key deletion effort factor. Controls latency per expired key deletion cycle. Valid values: [1–10]. Default: 1. Higher values delete expired keys faster but consume more CPU.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

notify-keyspace-events

The types of events of which the server can notify clients. The value of this parameter is a combination of the following characters. This parameter setting applies to all databases in the instance. These notifications consume CPU resources. For more information, see Redis keyspace notifications.

  • K: keyspace events. All events are published with a _keyspace@<db>_ prefix.

  • E: keyevent events. All events are published with a _keyevent@<db>_ prefix.

  • g: generic events that are not related to specific commands, such as DEL, EXPIRE, and RENAME.

  • $: events of string commands. Clients are notified of operations to create, modify, and delete strings.

  • l: events of list commands.

  • s: events of set commands.

  • h: events of hash commands.

  • z: events of sorted set commands.

  • x: expiration events. Clients may be notified when an expired key is deleted instead of when a key expires.

  • e: eviction events. Clients are notified when a key is evicted based on maxmemory policies.

  • A: all the preceding event types. This parameter is the alias for the g$lshzxe parameter. Example: AKE.

Important

The specified value must include at least K or E. Otherwise, no notifications are sent.

For example, if you want to be notified of expiration events, set this parameter to Ex. If you run the PSUBSCRIBE _keyevent@0_* command on your client after you specify this parameter, you are notified of the keyevent events of DB0.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

set-max-intset-entries

Use intset encoding for sets that meet both conditions:

  • when all data in the collection are character objects.

  • All integers are base-10 and fit within the range of a 64-bit signed integer.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

slowlog-log-slower-than

Slow query log threshold. Commands taking longer than this value are logged. Unit: microseconds (μs). Default: 20000 (20 ms). Valid values: 10000–10000000.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

slowlog-max-len

Maximum number of entries stored in the slow query log. Valid values: 10010000. Default: 1024.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

stream-node-max-bytes

Maximum memory (in bytes) per macro node in a stream. Valid values: 0999,999,999,999,999.

Note

A value of 0 means unlimited.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

stream-node-max-entries

Maximum number of entries per macro node in a stream. Valid values: 0999,999,999,999,999.

Note

A value of 0 means unlimited.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

tracking-table-max-keys

Maximum number of keys stored in the tracking table. Valid values: [0–1000000000]. Default: 1000000.

Note

This parameter is available only for Redis 7.0.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

timeout

When a client's idle time reaches the specified number of seconds, the instance closes the connection. The unit is seconds. The range is [0,100000]. The default is 0, which means no connections are disconnected.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

  • zset-max-ziplist-entries

  • zset-max-ziplist-value

For instances compatible with Redis 6.0 and earlier, ziplist is the default codec for Zsets. A Zset uses ziplist encoding when both of the following conditions are met:

  • The number of key-value pairs in the Zset is less than the value of zset-max-ziplist-entries.

  • The string length of both the keys and values in the Zset's key-value pairs is less than the value of zset-max-ziplist-value.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

  • zset-max-listpack-entries

  • zset-max-listpack-value

For instances compatible with Redis 7.0 and later, listpack is the default codec for Zsets. A Zset uses listpack encoding when both of the following conditions are met:

  • The number of key-value pairs in the Zset is less than the value of zset-max-listpack-entries.

  • The string length of both the keys and values in the Zset's key-value pairs is less than the value of zset-max-listpack-value.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

bigkey-threshold

Threshold (in element count) for identifying big keys in Top Key statistics. Default: 2000. Valid values: [500–100000].

Note

If this parameter does not appear in your settings, upgrade the minor version and try again.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

hotkey-threshold

The statistics threshold for hot keys (by QPS) in Top Key Statistics. The default is 5000. The range is [100-100000].

Note

This parameter requires minor version 7.0.1.8, 6.0.2.9, 5.5.2.9, or later.

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️️️️️

Read/write splitting ✔️

Proxy node parameters

Proxy node parameters are available only for cluster instances that use proxy mode and read/write splitting instances.

Parameter

Description

cluster_compat_enable

Specifies whether to enable compatibility with native Redis cluster syntax. Valid values:

  • 0: Shut down.

  • 1 (default): Enables compatibility. When enabled, READONLY, READWRITE, and CLUSTER series commands are supported. For more information about the specific commands, see List of commands supported in proxy mode.

hello_enabled

The switch to toggle between RESP2 and RESP3 protocols using the HELLO command. Valid values:

  • 0 (default): Disables the switch.

  • 1: Enables the switch. When enabled, you can use the HELLO command to switch between the RESP2 and RESP3 protocols.

Note

This parameter is supported only for Proxy 7.0.9 and later.

max_session_processing

The maximum number of requests that can be stacked for a single connection. The range is [10-10000000]. The default is 1000.

A request is in a stacked state if the proxy node forwards the client's request to a data node but does not receive a reply from the data node. This parameter is mainly used to limit request stacking caused by differences in processing capabilities between the proxy node's frontend and backend, preventing memory increases.

  • #no_loose_statistics-ip-enable

  • #no_loose_statistics-cmds

  • #no_loose_statistics-keys

These parameters are part of observability features. After configuration, you must also enable audit logs for them to take effect. Statistics are collected every 5 seconds.

  • #no_loose_statistics-ip-enable: Enables IP address statistics (records connecting IPs). Valid values: yes (enable), no (default, disable).

  • #no_loose_statistics-cmds: Specifies commands to monitor. Records source IPs and frequencies for these commands. Default: empty (no monitoring). Separate multiple commands with commas (,).

  • #no_loose_statistics-keys: Specifies keys to monitor. Records source IPs and frequencies for these keys. Default: empty (no monitoring). Separate multiple keys with commas (,).

Note
  • To avoid performance impact, limit the number of commands and keys specified in #no_loose_statistics-cmds and #no_loose_statistics-keys. Enable these parameters only during troubleshooting or O&M tasks.

  • You can download audit logs from the Simple Log Service console (for more information, see Download audit logs) and then filter the logs by keyword.

    • Type 7: IP address QPS statistics.

    • Type 8: IP address connection statistics.

    • Type 9: Key statistics.

    • Type 10: Command statistics.

ptod_enabled

Specifies whether to pass the client's IP address through to the data node. Valid values:

  • 0: Does not pass through. The IP addresses accessing the data nodes are all proxy node IP addresses.

  • 1 (default): Passes through.

readonly_lua_route_ronode_enable

Enables or disables the Lua execution mode for read replicas. Valid values:

  • 0 (default): Disables Lua execution mode. Read replicas do not support Lua. Lua commands are processed by the primary node.

  • 1: Enables Lua execution mode. Only Lua scripts containing read operations are forwarded to read replicas for processing.

read_request_only_ronode_whenrwsplit_enable

Enables or disables directional forwarding for requests from read-only accounts. Valid values:

  • 0 (default): Disables directional forwarding. Requests from read-only accounts are distributed to all nodes, including the primary node, based on weight.

  • 1: Enables directional forwarding. Requests from read-only accounts are forwarded directly to read replicas and not to the primary node.

rt_threshold_ms

The slow query log threshold for the proxy node. The unit is milliseconds (ms). The range is [30-2000]. The default is 500.

If the time from when a request is sent from the proxy node to a data node until the proxy node receives the response exceeds this threshold, a slow query log entry is generated.

script_check_enable

Enables or disables the proxy node's check for Lua scripts. For more information about the check items, see Proxy checks for Lua scripts. Valid values:

  • 0: Does not check. If the instance account executing the Lua script has read-only permissions, the check is still enabled.

  • 1 (default): Checks.

sentinel_compat_enable

Specifies whether to enable the Sentinel-compatible mode for cluster instances in proxy mode or read/write splitting instances. Valid values:

  • 1: enables the Sentinel-compatible mode.

  • 0 (default): disables the Sentinel-compatible mode.

transfer_subscrible_to_psubscrible_enable

Enables or disables the feature that converts SUBSCRIBE to PSUBSCRIBE. Valid values:

  • 0 (default): Disables the feature. The two are not converted.

  • 1: Enables the feature. The proxy node converts SUBSCRIBE to PSUBSCRIBE for processing.

    Note

    You can enable this feature if you cannot receive notifications on a subscribed channel because PUB or SUB class commands are used in a Lua script.