All Products
Search
Document Center

Tair (Redis® OSS-Compatible):Parameters that can be configured for Tair instances

Last Updated:Nov 14, 2024

You can fine-tune and customize parameters for your Tair (Enterprise Edition) instances based on your business scenarios to improve the performance and security of the instances. This topic describes the 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. The instance encounters transient connections that last for a few seconds during the restart. 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 instance parameters.

Important

The instance parameters that can be configured vary with the engine version and instance architecture. This topic describes the parameters that are supported by Tair (Enterprise Edition) instances, including DRAM-based instances, persistent memory-optimized instances, and ESSD/SSD-based instances. For information about the parameters that are supported by Redis Open-Source Edition instances, see Parameters that can be configured for Redis Open-Source Edition instances.

Parameters

The following section describes the symbols that are used in the tables of this topic:

  • The ️️️️️️✔️ symbol indicates that the major version or instance architecture supports the parameter.

  • The ❌ symbol indicates that the major version or instance architecture does not support the parameter.

Note
  • Only specific parameters can be configured to ensure the stability of instances. The parameters that are not described in this topic cannot be configured.

  • For more information about instance architectures, see Overview.

DRAM-based and persistent memory-optimized instances

Parameter

Description

Instance series and architecture

DRAM-based instance

Persistent memory-optimized instance

#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 ️️️️️️️️️️️✔️

#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 console can still be used.

  • To ensure stable instance performance, ApsaraDB for Redis does not allow commands such as CONFIG to be disabled. For more information, see High-risk commands that cannot be disabled.

Standard ️️️️️️️️️✔️

Cluster ️️️️️️️️️✔️

Read/write splitting ️️️️️️️️️️️✔️

Standard ️️️️️️️️️✔️

Cluster ️️️️️️️️️✔️

Read/write splitting ️️️️️️️️️️️✔️

#no_loose_lua-strict-mode

Specifies whether to enable the strict mode for Lua scripting. After you enable the strict mode for standard instances, keys in Lua scripts must be specified by using the KEYS array as in cluster instances, instead of being dynamically generated from the scripts. Enabling the strict mode allows for multi-threaded parallel acceleration, leading to significant performance improvements. Valid values:

  • no (default): disables the strict mode.

  • yes (recommended): enables the strict mode. To set this parameter, you must set txn-isolation-lock to yes. For more information about the usage of Lua scripts, see Lua script syntax and solutions to common errors.

Note

This parameter is available only for Tair DRAM-based instances that are compatible with Redis 6.0 and ESSD/SSD-based instances.

Standard ️️️️️️️️️✔️

Cluster ❌

Read/write splitting ️️️️️️❌

#no_loose_publish-no-wait-result

Specifies whether to improve the throughput of the Tair instance when the PUBLISH command is run on the instance. The output of this command is always 0. Valid values:

  • no (default)

  • yes

Note

This parameter is available only for Tair DRAM-based instances that are compatible with Redis 6.0.

Standard ️️️️️️️️️✔️

Cluster ️️️️️️️️️✔️

Read/write splitting ️️️️️️️️️️️✔️

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.

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 ️❌

#no_loose_sentinel-password-free-access

Specifies whether to allow password-free execution of Sentinel commands when the Sentinel mode is enabled. Valid values:

  • yes: allows password-free execution of Sentinel commands. After you enable the Sentinel mode, Sentinel commands can be run without requiring password-free access over a VPC.

    Proxy nodes also support the use of the SUBSCRIBE command to subscribe to the +switch-master channel.

  • no (default): does not allow password-free execution of Sentinel commands.

Standard ️️️️️️️️️✔️

Cluster ️️️️️️️️️✔️

Read/write splitting ️️️️️️️️️️️✔️

Standard ️️️️️️️️️✔️

Cluster ️️️️️️️️️✔️

Read/write splitting ️️️️️️️️️️️✔️

#no_loose_statistics-cmds

This parameter is related to the observability of Tair (Enterprise Edition). After you specify this parameter for an instance, you must also enable the audit log feature for the instance. Audit logs must be collected at an interval of 5 seconds. For more information, see Observability and Enable the audit log feature.

  • #no_loose_statistics-cmds: specifies the commands whose statistics you want to collect. The source IP addresses from which the commands are issued and the frequencies at which the commands are run are collected. This parameter is empty by default, which indicates that no statistics are collected. Separate multiple commands with commas (,).

  • #no_loose_statistics-ip-enable: specifies whether to enable the collection of statistics about IP addresses or whether to record IP addresses of established connections. Valid values: yes and no. Default value: no.

  • #no_loose_statistics-keys: specifies the keys whose statistics you want to collect. The source IP addresses and the frequencies at which these keys are queried or updated are collected. This parameter is empty by default, which indicates that no statistics are collected. Separate multiple keys with commas (,).

Note
  • To prevent performance degradation, we recommend that you do not specify an excessive number of commands for the #no_loose_statistics-cmds parameter or an excessive number of keys for the #no_loose_statistics-keys parameter. In addition, make sure that these parameters are enabled only when you want to troubleshoot issues or perform O&M tasks.

  • You can download audit logs in the Simple Log Service console and use the keywords described in the following section to search for the logs that you want to view. For more information about how to download audit logs, see Download audit logs.

    • A type value of 7: indicates the queries per second (QPS) of IP addresses.

    • A type value of 8: indicates the connection information of IP addresses.

    • A type value of 9: indicates the statistics of keys.

    • A type value of 10: indicates the statistics of commands.

Standard ❌

Cluster ️️️️️️️️️✔️

Read/write splitting ️️️️️️️️️️️✔️

#no_loose_statistics-ip-enable

Standard ❌

Cluster ️️️️️️️️️✔️

Read/write splitting ️️️️️️️️️️️✔️

#no_loose_statistics-keys

Standard ❌

Cluster ️️️️️️️️️✔️

Read/write splitting ️️️️️️️️️️️✔️

#no_loose_tls-min-version

The earliest Transport Layer Security (TLS) version supported by the instance. Valid values:

  • TLSv1 (default)

  • TLSv1.1

  • TLSv1.2

Standard ❌

Cluster ️️️️️️️️️✔️

Read/write splitting ️️️️️️️️️️️✔️

active-expire-effort

The level of activeness in cleaning up expired keys. If you specify a larger value for this parameter, the engine becomes more active in cleaning up expired keys. In this case, memory consumed by expired keys decreases but CPU utilization and latency increase. Valid values: 1 to 10. Default value: 1.

Note

This parameter is available only for Tair persistent memory-optimized instances.

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 ️️️️️️️️️️️✔️

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 ️️️️️️️️️️️✔️

client-output-buffer-limit pubsub

The output buffer limits of publisher and subscriber clients. The clients are disconnected when the specified limits are reached. Specify this parameter in the following format: <hard limit> <soft limit> <soft seconds>. Default value: 33554432 8388608 60.

  • <hard limit>: the hard limit. A client is disconnected if its output buffer size is larger than or equal to the hard limit value. The hard limit value is measured in bytes.

  • <soft limit>: the soft limit. <soft seconds>: the maximum number of seconds during which the soft limit value is reached or exceeded. A client is disconnected if its output buffer size remains larger than or equal to the soft limit value for a period of time that is longer than or equal to the soft seconds value. The soft limit value is measured in bytes. The soft seconds value is measured in seconds.

Standard ️️️️️️️️️✔️

Cluster ️️️️️️️️️✔️️️️️

Read/write splitting ️️️️️️️️️️️✔️

Standard ️️️️️️️️️✔️

Cluster ️️️️️️️️️✔️️️️️

Read/write splitting ️️️️️️️️️️️✔️

cluster_compat_enable

Specifies whether to enable the support for the syntax of native Redis clusters for cluster instances in proxy mode or read/write splitting instances. Valid values:

  • 0: disables the support for the syntax of native Redis clusters.

  • 1 (default): enables the support for the syntax of native Redis clusters.

Standard ❌

Cluster ️️️️️️️️️✔️

Read/write splitting ️️️️️️️️️️️✔️

Standard ❌

Cluster ️️️️️️️️️✔️

Read/write splitting ️️️️️️️️️️️✔️

dynamic-hz

Specifies whether to enable dynamic frequency control for background tasks. Valid values:

  • yes (default)

  • no

Standard ️️️️️️️️️✔️

Cluster ️️️️️️️️️✔️

Read/write splitting ️️️️️️️️️️️✔️

Standard ️️️️️️️️️✔️

Cluster ️️️️️️️️️✔️️️️️

Read/write splitting ️️️️️️️️️️️✔️

globalvectorindex_enabled

Specifies whether to enable the TairVector global index feature. Valid values:

  • 0 (default): disables the TairVector global index feature.

  • 1: enables the TairVector global index feature.

Standard ❌

Cluster ️️️️️️️️️✔️

Read/write splitting ️❌

hash-max-ziplist-entries

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 ️️️️️️️️️️️✔️

hash-max-ziplist-value

hello_enabled

Specifies whether to enable the HELLO command to switch between the RESP2 and RESP3 protocols for cluster instances in proxy mode or read/write splitting instances. Valid values:

  • 1: enables the HELLO command. After the HELLO command is enabled, you can run the HELLO command to switch between the RESP2 and RESP3 protocols.

  • 0 (default): disables the HELLO command.

Note

This parameter is available for proxy nodes whose minor version is 7.0.9 or later.

Standard ❌

Cluster ️️️️️️️️️✔️

Read/write splitting ️️️️️️️️️️️✔️

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 ️️️️️️️️️️️✔️

lazyfree-lazy-eviction

Specifies whether to enable the eviction feature based on the lazyfree mechanism. Valid values:

  • yes

  • no (default)

Standard ️️️️️️️️️✔️

Cluster ️️️️️️️️️✔️️️️️

Read/write splitting ️️️️️️️️️️️✔️

Standard ️️️️️️️️️✔️

Cluster ️️️️️️️️️✔️️️️️

Read/write splitting ️️️️️️️️️️️✔️

lazyfree-lazy-expire

Specifies whether to delete expired keys based on the lazyfree mechanism. Valid values:

  • yes (default)

  • no

Standard ️️️️️️️️️✔️

Cluster ️️️️️️️️️✔️️️️️

Read/write splitting ️️️️️️️️️️️✔️

Standard ️️️️️️️️️✔️

Cluster ️️️️️️️️️✔️️️️️

Read/write splitting ️️️️️️️️️️️✔️

lazyfree-lazy-server-del

Specifies whether to asynchronously delete data based on the lazyfree mechanism for an implicit DEL operation. Valid values:

  • yes (default)

  • no

Standard ️️️️️️️️️✔️

Cluster ️️️️️️️️️✔️️️️️

Read/write splitting ️️️️️️️️️️️✔️

Standard ️️️️️️️️️✔️

Cluster ️️️️️️️️️✔️️️️️

Read/write splitting ️️️️️️️️️️️✔️

lazyfree-lazy-user-del

Specifies whether to asynchronously delete data based on the lazyfree mechanism when a user runs the DEL command. Valid values:

  • yes (default)

  • no

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 ️️️️️️️️️️️✔️

list-max-ziplist-entries

The maximum number of elements that can be stored in a list and the maximum size of each element in the list. Ziplist encoding is used only if a list meets both of the following conditions:

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

  • The number of bytes of each element stored in the list is smaller than the value of the list-max-ziplist-value parameter.

list-max-ziplist-value

list-max-ziplist-size

  • The maximum size of each ziplist in a quicklist. A positive number indicates the maximum number of elements in each ziplist of a quicklist. For example, if you set this parameter to 5, each ziplist of a quicklist can contain a maximum of five elements.

  • A negative value indicates the maximum number of bytes in each ziplist of a quicklist. Valid values:

    • -5: specifies that each ziplist of a quicklist cannot exceed 64 KB.

    • -4: specifies that each ziplist of a quicklist cannot exceed 32 KB.

    • -3: specifies that each ziplist of a quicklist cannot exceed 16 KB.

    • -2: specifies that each ziplist of a quicklist cannot exceed 8 KB.

    • -1: specifies that each ziplist of a quicklist cannot exceed 4 KB.

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 in a cluster instance.

  • 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 ️️️️️️️️️️️✔️

max_session_processing

The maximum number of pending requests that are allowed per connection. If a proxy node forwards requests from a client to a data node but does not receive a response from the data node, these requests are pending. This parameter is used to limit the number of pending requests that are caused by capability differences between the frontend and backend of proxy nodes. This prevents an increase in memory usage.

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, or 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 the maxmemory policy.

  • 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 events are triggered.

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 ️️️️️️️️️️️✔️

pena_rename_move_compatible_enabled

Specifies whether to enable the support for the MOVE and RENAME commands. The time complexity of these commands is O(n), which differs from O(1) of native Redis commands. If the MOVE or RENAME command is used to manage large keys, the command takes an extended period of time to run. Valid values:

  • no (default): disables the support.

  • yes: enables the support. You can run these commands by using syntax similar to that of native Redis commands.

Note

This parameter is available only for Tair persistent memory-optimized instances whose minor version is 1.2.4 or later.

Standard ️️️️️️️️️✔️

Cluster ️️️️️️️️️✔️️️️️

Read/write splitting ️️️️️️️️️️️✔️

ptod_enabled

Specifies whether to pass through client IP addresses to data nodes by using proxy nodes for cluster instances in proxy mode or read/write splitting instances. Valid values:

  • 0 (default): does not pass through client IP addresses to data nodes.

  • 1: passes through client IP addresses to data nodes.

Standard ❌

Cluster ️️️️️️️️️✔️

Read/write splitting ️️️️️️️️️️️✔️

Standard ❌

Cluster ️️️️️️️️️✔️

Read/write splitting ️️️️️️️️️️️✔️

query_cache_enabled

Specifies whether to enable the proxy query cache feature. For more information, see Use proxy query cache to address issues caused by hotkeys. Valid values:

  • 0 (default): disables the proxy query cache feature.

  • 1: enables the proxy query cache feature.

Important

The key-value pair information of the hotkeys that is cached on proxy nodes is not updated within the validity period. Therefore, make sure that your business supports eventual consistency.

Standard ❌

Cluster ️️️️️️️️️✔️

Read/write splitting ️️️️️️️️️️️✔️

Standard ❌

Cluster ️️️️️️️️️✔️

Read/write splitting ️️️️️️️️️️️✔️

query_cache_expire

The validity period of cached data. Unit: milliseconds. Valid values: 100 to 60000. Default value: 1000.

  • If the cached data is modified within the validity period, the modified data is not synchronized to the cache. In this case, dirty data is returned for identical read requests until the cache expires.

  • You must evaluate the value of this parameter based on your business requirements and your tolerance for dirty data. If the value is smaller than required, the cache hit ratio is reduced. If the value is greater than required, the client reads dirty data for an extended period of time.

Standard ❌

Cluster ️️️️️️️️️✔️

Read/write splitting ️️️️️️️️️️️✔️

Standard ❌

Cluster ️️️️️️️️️✔️

Read/write splitting ️️️️️️️️️️️✔️

query_cache_mode

The proxy query cache mode. Valid values:

  • 0 (default): caches data of only the hotkeys pushed by data shards.

  • 1: caches data of all keys. The cached keys are evicted based on the LRU algorithm.

Important

The maximum cache capacity of each proxy node is 100 MB per thread. Therefore, if this parameter is set to 1, the proxy nodes evict keys based on the LRU algorithm. This may reduce the cache hit ratio and degrade the overall performance.

Standard ❌

Cluster ️️️️️️️️️✔️

Read/write splitting ️️️️️️️️️️️✔️

Standard ❌

Cluster ️️️️️️️️️✔️

Read/write splitting ️️️️️️️️️️️✔️

readonly_lua_route_ronode_enable

Specifies whether to enable Lua scripting on read replicas. Valid values:

  • 0 (default): disables Lua scripting. Lua scripts are processed by master nodes instead of read replicas.

  • 1: enables Lua scripting. Lua scripts that involve only read requests are forwarded to read replicas.

Standard ❌

Cluster ️❌️

Read/write splitting ️️️️️️️️️️️✔️

read_request_only_ronode_whenrwsplit_enable

Specifies whether to enable unidirectional forwarding for requests from accounts that have read-only permissions. Valid values:

  • 0 (default): disables unidirectional forwarding. Requests from accounts that have read-only permissions are forwarded based on weights to all nodes including master nodes.

  • 1: enables unidirectional forwarding. Requests from accounts that have read-only permissions are forwarded only to read replicas.

Standard ❌

Cluster ️️️️️️️️️✔️️️️️

Read/write splitting ️️️️️️️️️️️✔️

rt_threshold_ms

The threshold for logging slow queries of a proxy node. Unit: milliseconds. If the proxy node processes a request for a period of time longer than the specified threshold, the request is recorded in a slow query log.

Note

This period of time starts when the proxy node sends a request to the data node and ends when the proxy node receives the response.

Standard ❌

Cluster ️️️️️️️️️✔️️️️️

Read/write splitting ️️️️️️️️️️️✔️

Standard ❌

Cluster ️️️️️️️️️✔️️️️️

Read/write splitting ️️️️️️️️️️️✔️

script_check_enable

Specifies whether to check that the keys used in Lua scripts are mapped to the same slot for cluster instances in proxy mode or read/write splitting instances. For more information, see Additional checks on Lua scripts in proxy mode. Valid values:

  • 0: does not check whether the keys are mapped to the same slot. If the database account of the instance has read-only permissions, the system still performs the check.

  • 1 (default): checks whether the keys are mapped to the same slot.

Standard ❌

Cluster ️️️️️️️️️✔️️️️️

Read/write splitting ️️️️️️️️️️️✔️

set-max-intset-entries

The maximum number of data entries for which a set supports intset encoding. Intset encoding is used only if a set meets both of the following conditions:

  • All data entries in the set are strings.

  • The set contains only radix-10 integers in the range of 64-bit signed integers.

Standard ️️️️️️️️️✔️

Cluster ️️️️️️️️️✔️️️️️

Read/write splitting ️️️️️️️️️️️✔️

Standard ️️️️️️️️️✔️

Cluster ️️️️️️️️️✔️️️️️

Read/write splitting ️️️️️️️️️️️✔️

slowlog-log-slower-than

The threshold for logging slow queries. When an operation is executed for a period of time that exceeds the specified threshold, the operation is logged. Unit: microseconds. Valid values: 10000 to 10000000. Default value: 20000 (20 milliseconds).

Standard ️️️️️️️️️✔️

Cluster ️️️️️️️️️✔️️️️️

Read/write splitting ️️️️️️️️️️️✔️

Standard ️️️️️️️️️✔️

Cluster ️️️️️️️️️✔️️️️️

Read/write splitting ️️️️️️️️️️️✔️

slowlog-max-len

The maximum number of entries that can be stored in a slow query log. Valid values: 100 to 10000. Default value: 1024.

Standard ️️️️️️️️️✔️

Cluster ️️️️️️️️️✔️️️️️

Read/write splitting ️️️️️️️️️️️✔️

Standard ️️️️️️️️️✔️

Cluster ️️️️️️️️️✔️️️️️

Read/write splitting ️️️️️️️️️️️✔️

stream-node-max-bytes

The maximum amount of memory that each macro node in a stream can consume. Valid values: 0 to 999999999999999. Unit: bytes.

Note

A value of 0 indicates that the amount of memory that each macro node can consume is unlimited.

Standard ️️️️️️️️️✔️

Cluster ️️️️️️️️️✔️

Read/write splitting ️️️️️️️️️️️✔️

Standard ️️️️️️️️️✔️

Cluster ️️️️️️️️️✔️️️️️

Read/write splitting ️️️️️️️️️️️✔️

stream-node-max-entries

The maximum number of entries that can be stored on each macro node in a stream. Valid values: 0 to 999999999999999.

Note

A value of 0 indicates that the number of entries that can be stored on each macro node is unlimited.

Standard ️️️️️️️️️✔️

Cluster ️️️️️️️️️✔️

Read/write splitting ️️️️️️️️️️️✔️

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 ️️️️️️️️️️️✔️

transfer_subscrible_to_psubscrible_enable

Specifies whether to enable the feature of converting SUBSCRIBE to PSUBSCRIBE. Valid values:

  • 0 (default): disables this feature. Proxy nodes cannot convert SUBSCRIBE to PSUBSCRIBE.

  • 1: enables this feature. Proxy nodes can convert SUBSCRIBE to PSUBSCRIBE.

    Note

    If you use Pub/Sub commands in Lua scripts and the channel to which you have subscribed cannot receive messages, you can enable this feature to fix the issue.

Standard ❌

Cluster ️️️️️️️️️✔️️️️️

Read/write splitting ️️️️️️️️️️️✔️

ts-auto-del-empty-skey-enable

Specifies whether to automatically delete an skey from a TairTS pkey when all data points in the skey expire. Valid values:

  • yes (default)

  • no

Note

This parameter is available only for DRAM-based instances of version 24.7.0.0 or later that are compatible with Redis 6.0 and 7.0.

Standard ️️️️️️️️️✔️

Cluster ️️️️️️️️️✔️️️️️

Read/write splitting ️️️️️️️️️️️✔️

Standard ️️️️️️️️️✔️

Cluster ️️️️️️️️️✔️️️️️

Read/write splitting ️️️️️️️️️️️✔️

zset-max-ziplist-entries

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 ️️️️️️️️️️️✔️

zset-max-ziplist-value

ESSD/SSD-based instances

Parameter

Description

ESSD/SSD-based instance

#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 console can still be used.

  • To ensure stable instance performance, ApsaraDB for Redis does not allow commands such as CONFIG to be disabled. For more information, see High-risk commands that cannot be disabled.

Standard ️️️️️️️️️️️️️✔️️

#no_loose_lua-strict-mode

Specifies whether to enable the strict mode for Lua scripting. After you enable the strict mode for standard instances, keys in Lua scripts must be specified by using the KEYS array as in cluster instances, instead of being dynamically generated from the scripts. Enabling the strict mode allows for multi-threaded parallel acceleration, leading to significant performance improvements. Valid values:

  • no (default): disables the strict mode.

  • yes (recommended): enables the strict mode. To set this parameter, you must set txn-isolation-lock to yes. For more information about the usage of Lua scripts, see Lua script syntax and solutions to common errors.

Standard ️️️️️️️️️️️️️✔️️

latency-monitor-threshold

The threshold of event latency. Events whose latency exceeds this threshold are recorded as events with latency. Valid values: 0 to 10000000. Unit milliseconds.

Standard ️️️️️️️️✔️

max-write-batch-size

The maximum size of data that can be processed in one batch before it is written to the disk. Unit: bytes. Valid values: 0 to 1073741824 (1 GB). The default value is 0, which indicates that no upper limit is set.

Note

If your data distribution and request patterns tend to generate large intermediate data during command execution, we recommend that you set max-write-batch-size to a value such as 1073741824 (1 GB) to prevent potential memory overflow.

Standard ️️️️️️️️✔️

slowlog-log-slower-than

The threshold for logging slow queries. When an operation is executed for a period of time that exceeds the specified threshold, the operation is logged. Unit: microseconds. Valid values: 10000 to 10000000. Default value: 20000 (20 milliseconds).

Standard ️️️️️️️️✔️

slowlog-max-len

The maximum number of entries that can be stored in a slow query log. Valid values: 100 to 10000. Default value: 1024.

Standard ️️️️️️️️️️️️️✔️️

scan-background-interval-ms

The instance proactively polls keys in the background to perform maintenance tasks such as checking the TTL of the data and performing garbage collection.

  • scan-background-interval-ms: the polling interval. Unit: milliseconds. Default value: 10000 (10 seconds).

  • batch-scan-count: the number of keys that are queried during each polling cycle. The default value is 200000, which indicates that 200,000 keys are queried by default.

Note

If you have high requirements for background garbage collection efficiency, you can appropriately reduce the value of scan-background-interval-ms. However, increasing the polling frequency also consumes more disk I/O bandwidth. To avoid negatively affecting user experience and request handling, we recommend that you do not significantly increase the polling frequency.

Standard ️️️️️️️️️️️️️✔️️

batch-scan-count

Standard ️️️️️️️️️️️️️✔️️

txn-isolation-lock

Specifies whether to enable transactional locking. If you set this parameter to yes, you can run the MULTI, EXEC, and Lua commands on the ESSD/SSD-based instance. In this case, the instance performance may degrade by 10%. Valid values:

  • no (default): disables transactional locking.

  • yes: enables transactional locking. You can run these commands by using syntax similar to that of native Redis commands.

Standard ️️️️️️️️️️️️️✔️️