All Products
Search
Document Center

Tair (Redis® OSS-Compatible):Configuration parameters for Redis Open-Source Edition

Last Updated:Aug 14, 2025

You can customize the parameters of your Tair (Redis OSS-compatible) instance to improve its performance and security. The supported parameters vary based on the engine version and architecture. This topic provides detailed descriptions of the supported parameters.

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 Update the minor version of an instance.

  • 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 Configure parameters.

Important

This topic describes the parameters for Redis Open-Source Edition instances. For information about the parameters for Tair (Enterprise Edition) instances, including memory-optimized, persistent memory, and disk-based instances, see Configuration parameters for Tair (Enterprise Edition).

Supported parameters

For readability and clarity, the following conventions are used in the tables in this topic:

  • ✔️: The parameter is supported by the major version or architecture.

  • ❌: The parameter is not supported by the 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 that the IP address of a client is added to a whitelist of the instance after password-free access is enabled for the instance. The client is deployed in the same virtual private cloud (VPC) as the instance. Valid values:

  • yes: After you enable password-free access for the instance, you must also add the IP address of a client that is deployed in the same VPC as the instance to a whitelist of the instance before the client can connect to the instance.

    If the (error) ERR illegal address error is returned, the whitelist is improperly configured.

  • no (default): After you enable password-free access for the instance, you can connect a client that is deployed in the same VPC as the instance to the instance without adding the IP address of the client to a whitelist of the instance.

Note

This parameter is available only for classic instances.

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 Clear 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: Enables the feature. After this feature is enabled, you can execute Sentinel commands on any connection without a password and use the SENTINEL command to listen to the +switch-master channel.

  • no (default): Disables the feature.

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

#no_loose_sentinel-password-free-commands

After you enable Sentinel mode and the #no_loose_sentinel-password-free-access parameter, you can use this parameter to add a list of extra password-free commands. The default value is empty.

Important
  • After you set this parameter, you can execute the corresponding commands on any connection without a password. Use this parameter with caution.

  • Enter the commands in lowercase. 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

Specifies whether to enable AOF persistence for master nodes. Valid values:

  • yes (default)

  • no

    Note

    By default, data persistence by using Redis Database (RDB) snapshots is performed once a day. 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

The pubsub parameter limits the output buffer for publish/subscribe clients. The default value is 33554432 8388608 60.

The normal parameter limits the output buffer for normal clients. The default value is 524288000 0 0.

The parameter format is <hard limit> <soft limit> <soft seconds>.

  • <hard limit>: When the memory occupied by a client's output buffer reaches or exceeds the hard limit, the connection to the client is closed. The unit of the hard limit value is byte.

  • <soft limit> and <soft seconds>: When the memory occupied by a client's output buffer reaches or exceeds the soft limit and this state persists for a duration greater than or equal to the number of seconds specified by soft seconds, the connection to the client is closed. The unit of the soft limit value is byte, and the unit of the soft seconds value is second.

Important
  • The client-output-buffer-limit normal parameter is supported only by instances that are compatible with Redis 6.0 or later.

  • The client output buffer occupies memory. If too many commands are stacked, data eviction or even an out of memory (OOM) breakdown may occur. Carefully check the instance type and memory size before you adjust this parameter. 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 hz. Valid values:

  • yes (default): Enables the feature.

  • no: Disables the feature.

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

  • hash-max-ziplist-entries

  • hash-max-ziplist-value

The maximum number and size of key-value pairs stored in a hash. Ziplist encoding is used only if a hash meets both of the following conditions:

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

  • The keys and values of key-value pairs stored in the hash are all smaller than the value of the hash-max-ziplist-value parameter. The keys and values are measured in bytes.

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 or later, listpack is used as the default codec for hashing. When a hash object meets both of the following conditions, listpack encoding is used.

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

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

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

hz

Specifies how frequently tasks are performed in the background. For example, you can specify how frequently tasks are performed to evict expired keys. Valid values: 1 to 500. The default value is 10, which specifies that each task is performed 10 times per second.

Note

A larger value results in higher CPU consumption but allows the system to delete expired keys more frequently and close timed-out connections more precisely. We recommend that you specify a value less than or equal to 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

Specifies whether to enable command latency monitoring. Valid values:

  • yes (default): Enables monitoring.

  • no: Disables monitoring.

Note

This parameter is supported only by instances that are compatible with Redis 7.0 or later.

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

lazyfree-lazy-eviction

Specifies whether to enable lazyfree-based eviction. Valid values:

  • yes: Enables the feature.

  • no (default): Disables the feature.

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

lazyfree-lazy-expire

Specifies whether to enable lazyfree-based deletion of expired keys. Valid values:

  • yes (default): Enables the feature.

  • no: Disables the feature.

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 the DEL command asynchronously deletes data based on lazyfree. Valid values:

  • yes (default): Enables the feature.

  • no: Disables the feature.

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 to asynchronously delete data based on lazyfree when the DEL command is executed. Valid values:

  • yes (default): Enables the feature.

  • no: Disables the feature.

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

lazyfree-lazy-user-flush

Specifies whether to automatically convert the FLUSHDB, FLUSHALL, SCRIPT FLUSH, and FUNCTION FLUSH commands to the Lazyfree asynchronous deletion mode. Valid values:

  • yes: Enables the feature.

  • no (default): Disables the feature.

Note

This parameter is supported only by instances that are compatible with Redis 7.0 or later.

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

list-compress-depth

The number of nodes that are not compressed at both ends of a list. Valid values: 0 to 65535.

  • 0 (default): does not compress nodes of a list.

  • A value in the range of 1 to 65535: does not compress the specified number of nodes at both ends of a list but compresses in-between nodes.

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

list-max-ziplist-entries

This set of parameters is supported only by instances that are compatible with Redis 2.8. When a List object meets both of the following conditions, ziplist encoding is used.

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

  • The byte size of the string length of all elements in the List object 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 or earlier, ziplist is used as the default codec for Lists (the list-max-ziplist-size parameter). For instances compatible with Redis 7.0 or later, listpack is used as the default codec for Lists (the list-max-listpack-size parameter).

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

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

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

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

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

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

    • -1: The size of the ziplist (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 policy used to evict keys if memory is exhausted. If the memory usage of your instance reaches the value of Maxmemory, data eviction is triggered. You can choose a data eviction policy based on your needs. Valid values:

Note
  • By default, Maxmemory is set to the storage capacity of the instance type and cannot be changed. For example, if the storage capacity of the instance type is 2 GB, the value of Maxmemory is 2 GB.

  • For a cluster instance, if the memory usage of a single data node reaches the value of Maxmemory, data eviction is triggered even if the total memory usage of the instance does not reach its upper limit. To address this issue, you must handle data skew for the instance. For more information, see Handle data skew.

  • LRU indicates the policy of evicting the least recently used data from the cache. LFU indicates the policy of evicting the least frequently used data from the cache. LRU, LFU, and time-to-live (TTL) policies are implemented by using approximation and randomized algorithms.

  • volatile-lru (default for Tair DRAM-based instances and Redis Open-Source Edition instances): evicts the LRU keys from keys that have a TTL configured regardless of whether the keys have expired.

  • noeviction (default for Tair persistent memory-optimized instances): does not evict keys to make space when the memory limit is reached, but returns errors for write operations.

  • volatile-lfu: evicts the LFU keys from keys that have a TTL configured.

  • volatile-random: randomly evicts keys from keys that have a TTL configured.

  • volatile-ttl: evicts the keys that have the shortest TTL from keys that have a TTL configured.

  • allkeys-lru: evicts the LRU keys from all keys.

  • allkeys-lfu: evicts the LFU keys from all keys.

  • allkeys-random: randomly evicts keys from all 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

The data eviction factor, used to set the delay for each data eviction. The value can range from 0 to 100. The default value is 10.

  • Decreasing this value may reduce latency but will affect the effectiveness of data eviction.

  • When write traffic is particularly high, you can increase this value, but the latency will increase. A value of 100 means that latency is ignored, and eviction continues until the memory drops below maxmemory or there are no more keys to evict.

Note

This parameter is supported only by Redis 7.0.

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

active-expire-effort

The expired key (Expire) deletion factor, used to set the delay for each deletion of an expired key. The value can range from 1 to 10. The default value is 1. A larger value deletes expired keys faster but also consumes more CPU resources.

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

When the data in a Set collection meets the following conditions, intset encoding is used.

  • All data in the collection are character objects.

  • All are base-10 integers within the range of 64-bit signed integers.

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

The threshold for slow query logs. Commands whose running time exceeds this threshold are recorded in slow query logs. Unit: microsecond (μs). The default value is 20000 (20 ms). The value can range from 10000 to 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

The maximum number of records that can be saved in a slow query log. The value can range from 100 to 10000. The default value is 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

The maximum memory that each macro node in a Stream can occupy. The value can range from 0 to 999,999,999,999,999.

Note

A value of 0 indicates no limit.

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

stream-node-max-entries

The maximum number of entries that can be stored in each macro node in a Stream. The value can range from 0 to 999,999,999,999,999.

Note

A value of 0 indicates no limit.

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

tracking-table-max-keys

Sets the upper limit on the number of keys stored in the Tracking Table. The value can range from 0 to 1000000000. The default value is 1000000.

Note

This parameter is supported only by Redis 7.0.

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

timeout

The timeout period. The system closes a connection to a client for the instance if the connection remains idle for the specified period of time. Valid values: 0 to 100000. Unit: seconds. The default value is 0, which indicates that no timeout period is specified.

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

The maximum number and size of key-value pairs stored in a sorted set. Ziplist encoding is used only if a sorted set meets both of the following conditions:

  • The keys and values of key-value pairs stored in the sorted set are all smaller than the value of the zset-max-ziplist-value parameter. The keys and values are measured in bytes.

  • The number of key-value pairs stored in the sorted set is smaller than the value of the zset-max-ziplist-entries parameter.

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 or later, listpack is used as the default codec for Zset. When a Zset meets both of the following conditions, listpack encoding is used.

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

  • The string lengths of the keys and values of the key-value pairs in the Zset are both less than the value of zset-max-listpack-value.

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

bigkey-threshold

The threshold for the number of elements for large keys (keys with many elements) in Top Key statistics. The default value is 2000. The value can range from 500 to 100000.

Note

If this parameter is not displayed in the parameter settings, update the minor version and try again.

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

hotkey-threshold

The threshold for hot keys (by QPS) in Top Key statistics. The default value is 5000. The value can range from 100 to 100000.

Note

This parameter is supported only by minor versions 7.0.18, 6.0.2.9, 5.5.2.9, and later.

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

Standard ✔️

Cluster ✔️

Read/write splitting ✔️

Proxy node parameters

The following parameters are provided by proxy nodes. These parameters are supported only by instances that use the cluster architecture in proxy mode or the read/write splitting architecture.

Parameter

Description

cluster_compat_enable

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

  • 0: Disables the feature.

  • 1 (default): Enables the feature. After this feature is enabled, it supports READONLY, READWRITE, and CLUSTER commands. For more information about the specific commands, see Commands supported in proxy mode.

hello_enabled

Specifies whether to enable switching between the RESP2 and RESP3 protocols using the HELLO command. Valid values:

  • 0 (default): Disables the feature.

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

Note

This parameter is supported only by Proxy 7.0.9 and later versions.

max_session_processing

The maximum number of requests that can be stacked for a single connection. The value can range from 10 to 10000000. The default value is 1000.

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

  • #no_loose_statistics-ip-enable

  • #no_loose_statistics-cmds

  • #no_loose_statistics-keys

This group of parameters is part of the observability feature. After you set these parameters, you must also enable the audit log feature for them to take effect. The statistic period is 5 seconds per collection.

  • #no_loose_statistics-ip-enable: Specifies whether to enable IP address statistics, which records the IP addresses of established connections. Valid values are yes (enables) and no (default, disables).

  • #no_loose_statistics-cmds: Specifies the commands to be tracked. It records the source IP address and frequency of these commands. The default value is empty, which means no commands are tracked. Separate multiple commands with commas (,).

  • #no_loose_statistics-keys: Specifies the keys to be tracked. It records the source IP address and frequency for these keys. The default value is empty, which means no keys are tracked. Separate multiple keys with commas (,).

Note
  • To avoid performance impacts, do not set too many values for the #no_loose_statistics-cmds and #no_loose_statistics-keys parameters. Ensure they are enabled only for troubleshooting or O&M purposes.

  • You can download audit logs from the Simple Log Service console (for more information, see Download audit logs), and then filter for the required information using keywords:

    • type value is 7: Indicates QPS statistics for IP addresses.

    • type value is 8: Indicates connection statistics for IP addresses.

    • type value is 9: Indicates key statistics.

    • type value is 10: Indicates command statistics.

ptod_enabled

Specifies whether to pass through the client IP address to data nodes. Valid values:

  • 0: Does not pass through the address. The IP addresses that access data nodes are the IP addresses of the proxy nodes.

  • 1 (default): Passes through the address.

readonly_lua_route_ronode_enable

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

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

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

read_request_only_ronode_whenrwsplit_enable

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

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

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

rt_threshold_ms

The threshold for slow query logs in proxy nodes. Unit: millisecond (ms). The value can range from 30 to 2000. The default value is 500.

Note

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

script_check_enable

Enables or disables the detection of Lua scripts by proxy nodes. For more information about the check items, see Proxy check items for Lua. Valid values:

  • 0: Does not check. If the instance account used to execute 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 commands to PSUBSCRIBE commands. Valid values:

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

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

    Note

    If you use PUB or SUB commands in Lua and cannot receive notifications on the subscribed channel, you can enable this feature.