All Products
Search
Document Center

Tair (Redis® OSS-Compatible):Configuration parameter list for Tair Enterprise Edition

Last Updated:May 28, 2026

Tair (Enterprise Edition) lets you tune instance behavior by adjusting a set of supported parameters. This topic lists all configurable parameters for memory-optimized, persistent memory, and disk-based instances.

For parameters that apply to Redis Open-Source Edition instances, see Supported Redis parameters.

Usage notes

  • Only the parameters listed in this topic can be configured. To learn how to set a parameter, see Set parameters.

  • Some parameters trigger an automatic instance restart when you apply changes. During the restart, the instance may experience a brief disconnection lasting a few seconds. Check the Takes effect upon restart column before applying changes.

  • If you receive the error Parameter is not supported for current version when setting a parameter, upgrade the minor version and try again.

  • Supported parameters vary by engine version and architecture. For architecture details, see Query architecture information.

Table conventions

The tables in this topic use the following symbols:

  • Check mark: Supported

  • Cross mark: Not supported

Memory-optimized and persistent memory instances

Parameter

Description

Memory-optimized

Persistent memory

Takes effect upon restart

#no_loose_check-whitelist-always

Controls whether the instance checks the client IP address against the whitelist after you enable passwordless access for a VPC. Default: no.

  • yes: Requires the client IP to be in the whitelist even after passwordless access is enabled. If the whitelist is not correctly configured, the connection returns (error) ERR illegal address.

  • no: Skips the whitelist check. Any client in the same VPC can connect after passwordless access is enabled.

Note

Only instances using the classic architecture support this parameter. Cloud-native architecture instances always enforce the IP whitelist, regardless of whether passwordless access is enabled.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Not supported

No

#no_loose_disabled-commands

Specifies commands to disable. Use this to block high-risk or high-latency commands such as FLUSHALL, FLUSHDB, KEYS, HGETALL, EVAL, EVALSHA, and SCRIPT.

  • Enter commands in lowercase, separated by commas.

  • Disabling FLUSHALL does not affect the Clear Data feature in the console.

  • Some commands, such as CONFIG, cannot be disabled. See Commands that cannot be disabled.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

No

#no_loose_high-cost-key-enabled

#no_loose_high-cost-key-traffic-bytes-threshold

#no_loose_high-cost-key-parse-hashtag

#no_loose_high-cost-key-parse-prefix

#no_loose_high-cost-key-parse-prefix-delimiters

#no_loose_high-cost-key-parse-prefix-find-limit-n

#no_loose_high-cost-key-parse-prefix-skip-first-n

A group of parameters for monitoring hot keys (keys with high access traffic). After you enable the feature, you can view the detected hot keys in CloudDBA > Top Key Statistics.

Important

Enabling this feature increases CPU usage by more than 5%, proportional to the number of keys. Enable it only when needed.

  • #no_loose_high-cost-key-enabled: The switch for the feature. Default: no (disabled). Set to yes to enable it.

  • #no_loose_high-cost-key-traffic-bytes-threshold: The access traffic threshold (bytes per second) for reporting a hot key. Valid values: 1024 to 4294967295. Default: 1048576 (1 MB/s).

  • #no_loose_high-cost-key-parse-hashtag: Aggregates keys that share the same {hashtag}. If the combined traffic of these keys exceeds the threshold, the hashtag is reported as a hot key. Default: no.

    For example, {user}a and {user}b are not individually hot keys. However, if their aggregated traffic exceeds the threshold, Top Key Statistics marks {user} as a hot key of the Hashtag type.

  • #no_loose_high-cost-key-parse-prefix: Aggregates keys that share the same prefix. Default: no. The following three parameters take effect only when this parameter is enabled:

    • #no_loose_high-cost-key-parse-prefix-delimiters: The characters used as separators. Default: empty. When you specify multiple characters (for example, : _), each character is treated as an individual separator.

    • #no_loose_high-cost-key-parse-prefix-skip-first-n: The number of leading separators to skip. Valid values: 0 to 5. Default: 0.

    • #no_loose_high-cost-key-parse-prefix-find-limit-n: The maximum number of segments to extract as a prefix. Valid values: 1 to 5. Default: 1.

    For example, consider the keys service:user:123 and service:user:456 with the separator :. If skip-first-n is 1 and find-limit-n is 1, the hot key service:user is captured. If skip-first-n is 0 and find-limit-n is 2, both service and service:user are captured.

Note

Supported only on cloud-native memory-optimized instances with minor version 25.2.0.0 or later. Hashtag and prefix parsing require minor version 25.9.1.0 or later.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Not supported

No

#no_loose_lua-strict-mode

Enables strict mode for Lua scripts. When enabled, standard architecture instances behave like cluster architecture instances: data keys in Lua scripts must be passed through the KEYS array and cannot be dynamically generated. This allows Lua scripts to use multi-threaded parallel processing, which significantly improves performance. Default: no.

Note

Supported only on memory-optimized instances compatible with Redis 6.0 or later.

Standard: Supported

Cluster: Not supported

Read/write splitting: Not supported

Not supported

No

#no_loose_maxmemory-evict-percent-soft-limit

Sets the memory usage percentage at which background eviction starts, before the instance reaches its Maxmemory limit. This allows early eviction without affecting command performance. Valid values: 50 to 100. Default: 100.

The eviction policy is still governed by maxmemory-policy.

Note

Supported only on memory-optimized instances compatible with Redis 6.0 or later, with minor version 25.2.0.0 or later.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Not supported

No

#no_loose_publish-no-wait-result

Improves PUBLISH command throughput by not waiting for subscriber counts. When enabled, PUBLISH always returns 0. Default: no.

Note

Supported only on memory-optimized instances compatible with Redis 6.0 or later.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Not supported

No

#no_loose_qps-limit-dim

#no_loose_qps-limit

A group of parameters for QPS throttling, which lets you control access to the instance. When enabled, if the number of requests to the instance reaches the configured threshold, the instance denies new requests and returns the -THROTTLED error.

  • #no_loose_qps-limit-dim: The throttling dimension. Valid values:

    • read (default): Throttles read requests.

    • write: Throttles write requests.

    • rw: Throttles both read and write requests.

    • all: Throttles all commands.

    • other: Throttles miscellaneous commands such as INFO and PING.

  • #no_loose_qps-limit: The QPS upper limit. Valid values: 0 to 1000000000. The default value is 0, which disables throttling. If this parameter is set to 0, the #no_loose_qps-limit-dim parameter does not take effect.

Note
  • Supported only on memory-optimized instances that are compatible with Redis 6.0 or later and have minor version 25.1.0.0 or later.

  • We recommend that you handle THROTTLED errors on the client in advance to avoid exceptions. We also recommend that the client avoid frequent retries when it receives a THROTTLED error.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Not supported

No

#no_loose_sentinel-enabled

Enables Sentinel-compatible mode for the instance. Default: no.

  • yes: Enabled.

  • no: Disabled.

Standard: Supported

Cluster: Supported

Read/write splitting: Not supported

Standard: Supported

Cluster: Supported

Read/write splitting: Not supported

No

#no_loose_sentinel-password-free-access

When Sentinel mode is enabled, this parameter controls whether Sentinel commands can run without a password on any connection. Default: no.

  • yes: Password-free execution of Sentinel commands is allowed. You can also use the SENTINEL command to listen to the +switch-master channel.

  • no: Disabled.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

No

#no_loose_sentinel-password-free-commands

When Sentinel mode is enabled and #no_loose_sentinel-password-free-access is set to yes, this parameter specifies additional commands that can run without a password on any connection. Default: empty.

Important

Commands configured here can be run without authentication on any connection. Enter commands in lowercase, separated by commas.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

No

#no_loose_slow-query-isolation-weight

Sets the threshold (number of sub-members in a key) above which slow query commands are routed to an isolated thread, freeing the main thread for regular commands. The following commands are covered: KEYS, SMEMBERS, HKEYS, HVALS, HGETALL, EXHKEYS, EXHVALS, and EXHGETALL. For the KEYS command, the threshold applies to the number of keys in the current DB. Valid values: 1 to 999999999999999. Default: 1000.

For example, if a Set has more than 1,000 members, SMEMBERS on that key uses the isolated thread. When the pending queue of the isolated thread exceeds 500 requests, subsequent commands fall back to regular threads.

Note

Avoid setting this threshold too low. Excessive pressure on the isolated thread wastes resources. If most requests are slow query commands, consider disabling isolation by setting this parameter to 999999999999999. Supported only on cloud-native memory-optimized instances.

Standard: Supported

Direct connection cluster: Supported

Proxy cluster: Not supported

Read/write splitting: Not supported

Not supported

No

#no_loose_tsync-repl-mode

The synchronization mode between the primary and secondary nodes. Valid values:

  • async (default): Uses native Redis asynchronous replication.

  • semisync: Semi-synchronous mode. When enabled, the primary node replicates update operations to the secondary node before returning a response to the client. This mode increases write latency by approximately 0.5 ms to 3 ms. It is suitable for scenarios that require high data consistency and can tolerate some write performance degradation.

    When the secondary node is unavailable or a network exception occurs between the primary and secondary nodes, semi-synchronous mode degrades to asynchronous mode.

Note

Supported only on memory-optimized instances that are compatible with Redis 6.0 or later and have minor version 23.12.2.0 or later.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Not supported

No

#no_loose_tsync-semisync-wait-timeout-ms

Before you adjust this parameter, you must first enable semi-synchronous mode (set #no_loose_tsync-repl-mode to semisync).

This parameter sets the timeout for semi-synchronous mode. If the time a write request waits for primary-secondary synchronization exceeds this threshold, the request is immediately returned to the client even if it has not yet been replicated to the secondary node. Unit: milliseconds. Valid values: 1 to 7200000. Default: 100.

Note

Supported only on memory-optimized instances that are compatible with Redis 6.0 or later and have minor version 23.12.2.0 or later. Modify with caution.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Not supported

No

#no_loose_tls-min-version

Sets the minimum TLS version the instance accepts. Default: TLSv1.

Valid values: TLSv1, TLSv1.1, TLSv1.2.

Standard: Not supported

Cluster: Supported

Read/write splitting: Supported

Not supported

No

#no_loose_ts-auto-del-empty-skey-enable

Controls whether an Skey in a TairTS data structure is automatically deleted when all of its data points have expired. Default: yes.

  • yes: The Skey is deleted when all data points expire.

  • no: The empty Skey is retained.

Note

Supported only on memory-optimized instances compatible with Redis 6.0 or later, with minor version 24.7.0.0 or later.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

No

active-expire-effort

Controls how aggressively the instance cleans up expired keys in the background. Higher values reduce the memory used by expired keys faster but increase CPU usage and latency. Valid values: 1 to 10. Default: 1.

Note

Supported only on persistent memory instances.

Not supported

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

No

appendfsync

The fsync frequency for Append-Only File (AOF) persistence. Takes effect only when appendonly is enabled. Default: everysec (not modifiable).

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

No

appendonly

Enables or disables AOF persistence on the primary node. Default: yes.

  • yes: AOF persistence is enabled.

  • no: AOF persistence is disabled.

Note

Redis Database (RDB) persistence runs once per day by default. For more information, see Automatic or manual backup.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Yes

bigkey-threshold

The element-count threshold for identifying large keys (keys with many elements) in Top Key Statistics. Valid values: 500 to 100000. Default: 2000.

Note

If this parameter is not shown in the parameter settings, upgrade the minor version and try again.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Not supported

No

bigkey-mem-threshold

The memory-size threshold for identifying large keys (keys that consume a lot of memory) in Top Key Statistics. Unit: bytes. Valid values: 1048576 to 1073741824 (1 MB to 1 GB). Default: 536870912 bytes (512 MB).

Note

Supported only on cloud-native memory-optimized instances with minor version 25.6.0.0 or later.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Not supported

No

bigkey-field-mem-threshold

The average memory-size threshold per sub-element for identifying large keys (keys that consume a lot of memory) in Top Key Statistics. Unit: bytes. Valid values: 1024 to 1073741824 (1 KB to 1 GB). Default: 1048576 bytes (1 MB).

Note
  • Supported only on cloud-native memory-optimized instances with minor version 25.6.0.0 or later.

  • Effective May 26, 2026, the default value of this parameter changes from 50 MB to 1 MB.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Not supported

No

client-output-buffer-limit pubsub

client-output-buffer-limit normal

Limits the output buffer for pub/sub clients and normal clients. Format: <hard limit> <soft limit> <soft seconds>.

  • Default for pubsub: 33554432 8388608 60

  • Default for normal: 524288000 0 0

When a client's output buffer reaches the hard limit, the connection is closed immediately. When the buffer reaches the soft limit and stays there for the specified number of seconds, the connection is closed.

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

  • The client output buffer consumes runtime memory. If too many commands accumulate, the instance may trigger data eviction or run out of memory. Review your instance's memory capacity before you adjust these values.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

No

dynamic-hz

Enables dynamic adjustment of the background task execution frequency. Default: yes.

  • yes: Enabled.

  • no: Disabled.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

No

globalvectorindex_enabled

Enables or disables the TairVector global index. Default: 0.

  • 0: Disabled.

  • 1: Enabled.

Standard: Not supported

Cluster: Supported

Read/write splitting: Not supported

Not supported

No

hash-max-ziplist-entries

hash-max-ziplist-value

For instances compatible with Redis 6.0 and earlier, a hash object uses ziplist encoding when both conditions are met: the number of key-value pairs is less than hash-max-ziplist-entries, and the string length of all keys and values is less than hash-max-ziplist-value.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

No

hash-max-listpack-entries

hash-max-listpack-value

For instances compatible with Redis 7.0 and later, a hash object uses listpack encoding when both conditions are met: the number of key-value pairs is less than hash-max-listpack-entries, and the string length of all keys and values is less than hash-max-listpack-value.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Not supported

No

hotkey-threshold

The QPS threshold for identifying hot keys in Top Key Statistics. Valid values: 100 to 100000. Default: 5000.

Note

Supported only on cloud-native memory-optimized instances. The required minor versions are:

  • Redis 5.0-compatible: 5.5.0.50 or later.

  • Redis 6.0 and Redis 7.0-compatible: 25.2.0.0 or later.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Not supported

No

hz

Sets how many times per second the instance runs background tasks such as cleaning up expired keys. Valid values: 1 to 500. Default: 10.

Higher values result in more frequent key cleanup and more precise timeout handling, but they also increase CPU usage. Avoid values above 100.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

No

lazyfree-lazy-eviction

Controls whether eviction uses asynchronous (lazyfree) deletion. Default: no.

  • yes: Enabled.

  • no: Disabled.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

No

lazyfree-lazy-expire

Controls whether expired-key deletion uses asynchronous (lazyfree) deletion. Default: yes.

  • yes: Enabled.

  • no: Disabled.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

No

lazyfree-lazy-server-del

Controls whether the DEL command uses asynchronous (lazyfree) deletion. Default: yes.

  • yes: Enabled.

  • no: Disabled.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

No

lazyfree-lazy-user-del

Controls whether the user-triggered DEL command uses asynchronous (lazyfree) deletion. Default: yes.

  • yes: Enabled.

  • no: Disabled.

Not supported

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

No

list-compress-depth

Sets how many nodes at each end of a list are kept uncompressed. Nodes in the middle are compressed. Valid values: 0 to 65535. Default: 0 (no compression).

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

No

list-max-ziplist-size

list-max-listpack-size

Controls the size or length of the ziplist (Redis 6.0 and earlier) or listpack (Redis 7.0 and later) on each quicklist node.

  • Positive values limit by the number of data items per node. For example, 5 means at most 5 items per node.

  • Negative values limit by byte size:

    • -1: 4 KB

    • -2 (default): 8 KB

    • -3: 16 KB

    • -4: 32 KB

    • -5: 64 KB

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

No

maxmemory-policy

The eviction policy applied when the instance reaches its Maxmemory limit. Default: volatile-lru for memory-optimized instances; noeviction for persistent memory instances.

Notes:

  • Maxmemory equals the purchased instance size and cannot be changed.

  • In cluster architecture, eviction is triggered per data node when that node reaches its Maxmemory limit, even if the total cluster memory is not exhausted. Handle data skew proactively. For more information, see How do I handle data skew?.

  • LRU (least recently used), LFU (least frequently used), and volatile-ttl policies use approximate random algorithms.

Available policies:

  • volatile-lru: Evicts the least recently used key among keys with an expiration time set.

  • noeviction: Rejects new writes when memory is full and returns an error.

  • volatile-lfu: Evicts the least frequently used key among keys with an expiration time set.

  • volatile-random: Randomly evicts a key with an expiration time set.

  • volatile-ttl: Evicts the key with the shortest time-to-live (TTL) among keys with an expiration time set.

  • allkeys-lru: Evicts the least recently used key from all keys.

  • allkeys-lfu: Evicts the least frequently used key from all keys.

  • allkeys-random: Randomly evicts a key from all keys.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

No

notify-keyspace-events

Configures which keyspace event notifications the instance sends. Enabling this consumes additional CPU resources. For details, see Redis keyspace notifications.

Important

The value must contain at least K or E; otherwise, no notifications are sent.

Use any combination of the following characters:

  • K: Keyspace notifications (prefixed with __keyspace@<db>__).

  • E: Key-event notifications (prefixed with __keyevent@<db>__).

  • g: Generic commands such as DEL, EXPIRE, and RENAME.

  • $: String commands.

  • l: List commands.

  • s: Set commands.

  • h: Hash commands.

  • z: Sorted set commands.

  • x: Expired events. Sent when an expired key is deleted.

  • e: Evicted events. Sent when a key is deleted by the eviction policy.

  • A: An alias for g$lshzxe. Subscribes to all of the above.

Example: To receive expiration events, set this parameter to Ex, then run PSUBSCRIBE __keyevent@0__* on the client to subscribe to key-event notifications for DB0.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

No

pena_rename_move_compatible_enabled

Enables compatible mode for the MOVE and RENAME series of commands. Unlike native Redis (O(1) complexity), these commands have O(n) complexity in Tair. Operations on large keys can therefore take a considerable amount of time. Default: no.

  • no: Disabled.

  • yes: Enabled. The commands can then be used with the same syntax as in native Redis.

Note

Supported only on persistent memory instances with version 1.2.4 or later.

Not supported

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

No

set-max-intset-entries

Sets the maximum size for a Set that uses intset encoding. A Set uses intset encoding when all of its members are base-10 integers within the range of 64-bit signed integers.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

No

slowlog-log-slower-than

The execution-time threshold for recording a command in the slow query log. Commands that take longer than this value are logged. Unit: microseconds. Valid values: 10000 to 10000000. Default: 20000 (20 ms).

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

No

slowlog-max-len

The maximum number of entries the slow query log retains. Valid values: 100 to 10000. Default: 1024.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

No

stream-node-max-bytes

The maximum amount of memory that a single macro node in a Stream can consume. Unit: bytes. Valid values: 0 to 999999999999999. Default: 4096. Set to 0 for no limit.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

No

stream-node-max-entries

The maximum number of entries that a single macro node in a Stream can store. Valid values: 0 to 999999999999999. Default: 100. Set to 0 for no limit.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

No

timeout

The number of idle seconds before the instance closes a client connection. Valid values: 0 to 100000. Default: 0 (connections are never closed due to inactivity).

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

No

zset-max-ziplist-entries

zset-max-ziplist-value

For instances compatible with Redis 6.0 and earlier, a sorted set uses ziplist encoding when both conditions are met: the number of key-value pairs is less than zset-max-ziplist-entries, and the string length of all keys and values is less than zset-max-ziplist-value.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

No

zset-max-listpack-entries

zset-max-listpack-value

For instances compatible with Redis 7.0 and later, a sorted set uses listpack encoding when both conditions are met: the number of key-value pairs is less than zset-max-listpack-entries, and the string length of all keys and values is less than zset-max-listpack-value.

Standard: Supported

Cluster: Supported

Read/write splitting: Supported

Not supported

No

Disk-based instances

Parameter

Description

Disk-based

Takes effect upon restart

#no_loose_disabled-commands

Specifies commands to disable. Use this to block high-risk or high-latency commands such as FLUSHALL, FLUSHDB, KEYS, HGETALL, EVAL, EVALSHA, and SCRIPT.

  • Enter commands in lowercase, separated by commas.

  • Disabling FLUSHALL does not affect the Clear Data feature in the console.

  • Some commands, such as CONFIG, cannot be disabled. See Commands that cannot be disabled.

Standard: Supported

Cluster: Supported

No

#no_loose_lua-strict-mode

Enables strict mode for Lua scripts. Data keys must be passed through the KEYS array and cannot be dynamically generated. This enables multi-threaded parallel processing for Lua scripts. Default: no.

Standard: Supported

Cluster: Supported

No

batch-scan-count

batch-scan-size

scan-background-interval-ms

Parameters for the background key polling process, which checks TTL and performs garbage collection.

  • scan-background-interval-ms: The polling interval. Unit: milliseconds. Default: 1000 (1 second).

  • batch-scan-count: The number of keys polled per iteration. Default: 20000.

  • batch-scan-size: The maximum amount of data polled per iteration. Unit: bytes. Default: 2097152 (2 MB).

The polling loop exits when either batch-scan-count or batch-scan-size is reached, then waits for the next interval.

Note

Decreasing scan-background-interval-ms increases garbage collection frequency but also consumes more disk bandwidth. Avoid aggressive changes that could affect the performance of user requests.

Standard: Supported

Cluster: Supported

No

bigkey-threshold

The element-count threshold for identifying large keys (keys with many elements) in Top Key Statistics. Valid values: 500 to 100000. Default: 2000.

Note

Supported only on disk-based instances with version 2.6.0 or later.

Standard: Supported

Cluster: Supported

No

hotkey-threshold

The QPS threshold for identifying hot keys in Top Key Statistics. Valid values: 100 to 100000. Default: 5000.

Note

Supported only on disk-based instances with version 2.6.0 or later.

Standard: Supported

Cluster: Supported

No

latency-monitor-threshold

The duration threshold for recording a latency event. Events that exceed this threshold are logged. Unit: milliseconds. Valid values: 0 to 10000000. Default: 100.

Standard: Supported

Cluster: Supported

No

max-rename-commit-size

The maximum amount of data (in bytes) of a key that the RENAME command can process. If the actual data exceeds this limit, the operation fails. Valid values: 1024 to 268435456. Default: 16777216 (16 MB).

Standard: Supported

Cluster: Supported

No

max-write-batch-size

The size limit (in bytes) for intermediate in-memory data generated during command execution in disk storage format. Valid values: 0 to 1073741824. Default: 0 (no limit).

Note

If your workload is likely to produce large intermediate data, set this to 1073741824 (1 GB) to prevent out-of-memory issues.

Standard: Supported

Cluster: Supported

No

optimise-huge-value

Enables performance optimization for large values. Default: no.

  • no: Disabled.

  • yes: Enabled. Can roughly double write performance for large values, but reduces range query efficiency (SCAN, HGETALL, ZRANGE) and causes greater memory usage fluctuations. Enable this option only when average value sizes exceed 16 KB and write throughput is high.

Note

Supported only on disk-based SSD instances with version 2.6.0 or later.

Standard: Supported

Cluster: Supported

No

slowlog-log-slower-than

The execution-time threshold for recording a command in the slow query log. Unit: microseconds. Valid values: 10000 to 10000000. Default: 1000000.

Standard: Supported

Cluster: Supported

No

slowlog-max-len

The maximum number of entries the slow query log retains. Valid values: 100 to 10000. Default: 1024.

Standard: Supported

Cluster: Supported

No

timeout

The number of idle seconds before the instance closes a client connection. Valid values: 0 to 100000. Default: 0 (connections are never closed due to inactivity).

Standard: Supported

Cluster: Supported

No

timeout_retry_to_slave_enabled

The switch for the abnormal-request retry feature. Valid values:

  • 0 (default): Disables the feature.

  • 1: Enables the feature. When enabled, if a read request times out and reaches the value of timeout_ms_retry_to_slave, the proxy automatically forwards the read request to a secondary node to ensure the success rate of read requests.

Standard: Not supported

Cluster: Supported

Read/write splitting: Not supported

No

timeout_ms_retry_to_slave

The timeout period that triggers a request retry. This parameter must be used together with timeout_retry_to_slave_enabled. Unit: milliseconds. Valid values: 10 to 5000. Default: 500.

Standard: Not supported

Cluster: Supported

Read/write splitting: Not supported

No

txn-isolation-lock

Enables transaction locks, which allow disk-based instances to run MULTI, EXEC, and Lua script commands. Enabling this parameter may cause up to 10% performance degradation. Default: no.

  • no: Disabled.

  • yes: Enabled. These commands then work with the same syntax as in native Redis.

Standard: Supported

Cluster: Supported

No

Proxy node parameters

These parameters are provided by proxy nodes and apply only to instances that use cluster architecture in proxy mode or read/write splitting architecture.

Parameter

Description

Takes effect upon restart

cluster_compat_enable

Controls compatibility with native Redis cluster syntax. Default: 1.

No

hello_enabled

Controls whether the HELLO command can switch between the RESP2 and RESP3 protocols. Default: 0.

  • 0: Disabled.

  • 1: Enabled.

Note

Supported only on Proxy version 7.0.9 and later.

No

max_session_processing

The maximum number of in-flight requests per connection. Valid values: 10 to 10000000. Default: 1000.

When a proxy node forwards a request to a data node but has not yet received a response, that request is considered in-flight. This parameter limits request accumulation caused by processing-speed differences between the proxy frontend and backend, which prevents excessive memory growth.

No

#no_loose_statistics-ip-enable

#no_loose_statistics-cmds

#no_loose_statistics-keys

A group of parameters for the observability feature. After you set these parameters, you must also enable the audit log for them to take effect. Statistics are collected in 5-second intervals.

  • #no_loose_statistics-ip-enable: Enables IP-address statistics, which record the IP addresses of established connections. Valid values: yes (enable) and no (default, disable).

  • #no_loose_statistics-cmds: Commands to track. Records the source IP address and frequency for each tracked command. Default: empty (no commands tracked). Separate multiple commands with commas.

  • #no_loose_statistics-keys: Keys to track. Records the source IP address and frequency for each tracked key. Default: empty (no keys tracked). Separate multiple keys with commas.

Note
  • Only memory-optimized instances support this group of parameters.

  • To minimize performance impact, keep the number of tracked commands and keys small. Enable this feature only for troubleshooting or O&M purposes.

To retrieve statistics, download audit logs from the Simple Log Service console (see Download audit logs) and filter by the following type values:

  • 7: QPS statistics by IP address

  • 8: Connection statistics by IP address

  • 9: Key statistics

  • 10: Command statistics

No

ptod_enabled

Controls whether the proxy passes the client's original IP address through to the data node. Default: 1.

  • 0: Disabled. The data node sees proxy-node IP addresses instead of client IPs.

  • 1: Pass-through enabled.

No

query_cache_enabled

query_cache_expire

query_cache_mode

Parameters for the proxy-node query cache feature. When enabled, the proxy caches hot key results and returns cached responses directly without forwarding requests to data shards.

Important

Cached key-value data is not updated during the cache validity period. Confirm that your workload can tolerate eventual consistency before you enable this feature.

  • query_cache_enabled: Enables the feature. Default: 0 (disabled). Set to 1 to enable.

  • query_cache_expire: The cache validity period. Unit: milliseconds. Valid values: 100 to 60000. Default: 1000. A shorter value reduces the cache hit rate; a longer value increases the window during which clients may read stale data.

  • query_cache_mode: The working mode.

    • 0 (default): Caches only hot keys pushed by data shards.

    • 1: Caches all keys using LRU (least recently used) eviction. Because each proxy thread has a 100 MB cache limit, LRU eviction may reduce the hit rate and overall performance.

No

read_request_only_ronode_whenrwsplit_enable

Controls whether requests from read-only accounts are forwarded exclusively to read replicas. Default: 0.

  • 0: Disabled. Requests from read-only accounts are distributed across all nodes (including the primary) based on weight.

  • 1: Enabled. Requests from read-only accounts go directly to read replicas and not to the primary.

No

readonly_lua_route_ronode_enable

Controls Lua execution mode on read replicas. Default: 0.

  • 0: Disabled. Lua commands are processed by the primary node.

  • 1: Enabled. Lua scripts that contain only read operations are forwarded to read replicas.

No

rt_threshold_ms

The slow-query log threshold for the proxy node. A log entry is generated when the time between when the proxy sends a request and when it receives a response exceeds this value. Unit: milliseconds. Valid values: 30 to 2000. Default: 500.

No

script_check_enable

Controls whether the proxy checks Lua scripts before execution. For the list of checks, see Proxy check items for Lua. Default: 1.

  • 0: Checks disabled. Note that read-only accounts always have script checks enabled regardless of this setting.

  • 1: Checks enabled.

No

sentinel_compat_enable

Enables Sentinel-compatible mode for the proxy. Default: 0.

  • 0: Disabled.

  • 1: Enabled.

No

transfer_subscrible_to_psubscrible_enable

Controls whether the proxy converts SUBSCRIBE commands to PSUBSCRIBE. Default: 0.

  • 0: Disabled.

  • 1: Enabled. Enable this option if you cannot receive notifications on a subscribed channel because Lua scripts use PUB/SUB class commands.

No