title: rladmin status

title: Overview

text: Displays the current cluster status and topology information.

title: `status`

text:
Displays the current status of all nodes, databases, database endpoints, and shards on the cluster.

[code example]

title: Parameters

text:
| Parameter | Description |
|-----------|-------------|
| extra \<parameter\> | Extra options that show more information |
| issues_only | Filters out all items that have an `OK` status  |

| Extra parameter | Description |
|-------------------|-------------|
| extra all | Shows all `extra` information |
| extra backups | Shows periodic backup status |
| extra frag | Shows fragmented memory available after the restart |
| extra nodestats | Shows shards per node |
| extra rack_id | Shows `rack_id` and `second_rack_id` even if the cluster is not `rack_aware` |
| extra redis_version | Shows Redis version of all databases in the cluster |
| extra state_machine | Shows execution of state machine information  |
| extra watchdog | Shows watchdog status  |

title: Returns

text:
Returns tables of the status of all nodes, databases, and database endpoints on the cluster.

If `issues_only` is specified, it only shows instances that do not have an `OK` status.

In the `CLUSTER NODES` section, `*node` indicates which node you are connected to.

For descriptions of the fields returned by `rladmin status extra all`, see the output tables for [nodes](#returns-nodes), [databases](#returns-dbs), [endpoints](#returns-endpoints), and [shards](#returns-shards).

title: Example

text: [code example]

title: `status databases`

text:
Displays the current status of all databases on the cluster.

[code example]

title: Parameters

text:
| Parameter | Description |
|-----------|-------------|
| extra \<parameter\> | Extra options that show more information |
| sort \<column_titles\> | Sort results by specified column titles |
| issues_only | Filters out all items that have an `OK` status  |

| Extra parameter | Description |
|-------------------|-------------|
| extra all | Shows all `extra` information |
| extra backups | Shows periodic backup status |
| extra frag | Shows fragmented memory available after the restart |
| extra nodestats | Shows shards per node |
| extra rack_id | Shows `rack_id` and `second_rack_id` even if the cluster is not `rack_aware` |
| extra redis_version | Shows Redis version of all databases in the cluster |
| extra state_machine | Shows execution of state machine information  |
| extra watchdog | Shows watchdog status  |

title: Returns {#returns-dbs}

text:
Returns a table of the status of all databases on the cluster.

If `sort <column_titles>` is specified, the result is sorted by the specified table columns.

If `issues_only` is specified, it only shows databases that do not have an `OK` status.

The following table describes the fields returned by `rladmin status databases extra all`:

| Field | Description |
|-------|-------------|
| DB:ID | Database ID |
| NAME | Database name |
| TYPE | Database type: Redis or Memcached |
| STATUS | Database status |
| SHARDS | The number of primary shards in the database |
| PLACEMENT | How the shards are spread across nodes in the cluster, densely or sparsely |
| REPLICATION | Is replication enabled for the database |
| PERSISTENCE | Is persistence enabled for the database |
| ENDPOINT | Database endpoint |
| EXEC_STATE |  The current state of the state machine |
| EXEC_STATE_MACHINE | The name of the running state machine |
| BACKUP_PROGRESS | The database’s backup progress |
| MISSING_BACKUP_TIME | How long ago a backup was done |
| REDIS_VERSION | The database’s Redis version |

title: Example

text: [code example]

title: `status endpoints`

text:
Displays the current status of all endpoints on the cluster.

[code example]

title: Parameters

text:
| Parameter | Description |
|-----------|-------------|
| node \<id\> | Only show endpoints for the specified node ID |
| db db:\<id\> | Only show endpoints for the specified database ID |
| db \<name\> | Only show endpoints for the specified database name |
| extra \<parameter\> | Extra options that show more information |
| sort \<column_titles\> | Sort results by specified column titles |
| issues_only | Filters out all items that have an `OK` status  |

| Extra parameter | Description |
|-------------------|-------------|
| extra all | Shows all `extra` information |
| extra backups | Shows periodic backup status |
| extra frag | Shows fragmented memory available after the restart |
| extra nodestats | Shows shards per node |
| extra rack_id | Shows `rack_id` and `second_rack_id` even if the cluster is not `rack_aware` |
| extra redis_version | Shows Redis version of all endpoints in the cluster |
| extra state_machine | Shows execution of state machine information  |
| extra watchdog | Shows watchdog status  |

title: Returns {#returns-endpoints}

text:
Returns a table of the status of all endpoints on the cluster.

If `sort <column_titles>` is specified, the result is sorted by the specified table columns.

If `issues_only` is specified, it only shows endpoints that do not have an `OK` status.

The following table describes the fields returned by `rladmin status endpoints extra all`:

| Field | Description |
|-------|-------------|
| DB:ID | Database ID |
| NAME | Database name |
| ID | Endpoint ID |
| NODE | The node that hosts the endpoint |
| ROLE | The proxy policy of the database: single, all-master-shards, or all-nodes |
| SSL | Is SSL enabled |
| WATCHDOG_STATUS | The shards related to the endpoint are monitored and healthy |

title: Example

text: [code example]

title: `status modules`

text:
Displays the current status of modules installed on the cluster and modules used by databases. This information is not included in the combined status report returned by [`rladmin status`](#status).

[code example]

title: Parameters

text:
| Parameter | Description |
|-----------|-------------|
| db db:\<id\> | Provide a list of database IDs to show only modules used by the specified databases
(for example: `rladmin status modules db db:1 db:2`) |
| db \<name\> | Provide a list of database names to show only modules used by the specified databases
(for example: `rladmin status modules db name1 name2`) |
| extra all | Shows all extra information |
| extra compatible_redis_version | Shows the compatible Redis database version for the module |
| extra module_id | Shows module IDs |
| extra min_redis_version | Shows the minimum compatible Redis database version for each module |

title: Returns

text: Returns the status of modules installed on the cluster and modules used by databases.

title: Example

text: [code example]

title: `status nodes`

text:
Displays the current status of all nodes on the cluster.

[code example]

title: Parameters

text:
| Parameter | Description |
|-----------|-------------|
| extra \<parameter\> | Extra options that show more information |
| sort \<column_titles\> | Sort results by specified column titles |
| issues_only | Filters out all items that have an `OK` status  |

| Extra parameter | Description |
|-------------------|-------------|
| extra all | Shows all `extra` information |
| extra backups | Shows periodic backup status |
| extra frag | Shows fragmented memory available after the restart |
| extra nodestats | Shows shards per node |
| extra rack_id | Shows `rack_id` and `second_rack_id` even if the cluster is not `rack_aware` |
| extra redis_version | Shows Redis version of all nodes in the cluster |
| extra state_machine | Shows execution of state machine information  |
| extra watchdog | Shows watchdog status  |

title: Returns {#returns-nodes}

text:
Returns a table of the status of all nodes on the cluster.

If `sort <column_titles>` is specified, the result is sorted by the specified table columns.

If `issues_only` is specified, it only shows nodes that do not have an `OK` status.

`*node` indicates which node you are connected to.

The following table describes the fields returned by `rladmin status nodes extra all`:

| Field | Description |
|-------|-------------|
| NODE:ID | Node ID |
| ROLE | Is the node a primary (`master`) or secondary (`slave`) node |
| ADDRESS | The node’s internal IP address |
| EXTERNAL ADDRESS | The node’s external IP address |
| HOSTNAME | Node name |
| MASTERS | The number of primary shards on the node |
| SLAVES | The number of replica shards on the node |
| OVERBOOKING_DEPTH | Memory available to create new shards, accounting for the memory reserved for existing shards to grow, even if `shards_overbooking` is enabled. A negative value indicates how much memory is overbooked rather than just showing that no memory is available for new shards. |
| SHARDS | The number of shards on the node |
| CORES | The number of cores on the node |
| FREE_RAM | free_memory/total_memory
**free_memory**: the amount of free memory reported by the OS.
**total_memory**: the total physical memory available on the node. |
| PROVISIONAL_RAM | Memory available to create new shards, displayed as available_provisional_memory/total_provisional_memory.
**available_provisional_memory**: memory currently available for the creation of new shards.
**total_provisional_memory**: memory that would be available to create new shards if the used memory on the node was 0.
If the available provisional memory is 0, the node cannot create new shards because the node has reached its shard limit, is in maintenance mode, or is a quorum-only node. |
| FLASH | The amount of flash memory available on the node, similar to `FREE_RAM` |
| AVAILABLE_FLASH | Flash memory available to create new shards, similar to `PROVISIONAL_RAM` |
| VERSION | The cluster version installed on the node |
| SHA | The node’s SHA hash |
| RACK-ID | The node’s rack ID |
| STATUS | The node’s status |

title: Example

text: [code example]

title: `status shards`

text:
Displays the current status of all shards on the cluster.

[code example]

title: Parameters

text:
| Parameter | Description |
|-----------|-------------|
| node \<id\> | Only show shards for the specified node ID |
| db db:\<id\> | Only show shards for the specified database ID |
| db \<name\> | Only show shards for the specified database name |
| extra \<parameter\> | Extra options that show more information |
| sort \<column_titles\> | Sort results by specified column titles |
| issues_only | Filters out all items that have an `OK` status  |

| Extra parameter | Description |
|-------------------|-------------|
| extra all | Shows all `extra` information |
| extra backups | Shows periodic backup status |
| extra frag | Shows fragmented memory available after the restart |
| extra shardstats | Shows shards per node |
| extra rack_id | Shows `rack_id` and `second_rack_id` even if the cluster is not `rack_aware` |
| extra redis_version | Shows Redis version of all shards in the cluster |
| extra state_machine | Shows execution of state machine information  |
| extra watchdog | Shows watchdog status  |

title: Returns {#returns-shards}

text:
Returns a table of the status of all shards on the cluster.

If `sort <column_titles>` is specified, the result is sorted by the specified table columns.

If `issues_only` is specified, it only shows shards that do not have an `OK` status.

The following table describes the fields returned by `rladmin status shards extra all`:

| Field | Description |
|-------|-------------|
| DB:ID | Database ID |
| NAME | Database name |
| ID | Shard ID |
| NODE | The node on which the shard resides |
| ROLE | The shard’s role: primary (`master`) or replica (`slave`) |
| SLOTS | Redis keys slot range of the shard |
| USED_MEMORY | Memory used by the shard |
| BACKUP_PROGRESS | The shard’s backup progress |
| RAM_FRAG | The shard’s RAM fragmentation caused by deleted data or expired keys. A large value can indicate inefficient memory allocation. |
| FLASH_FRAG | For Auto Tiering databases, the shard’s flash fragmentation |
| WATCHDOG_STATUS | The shard is being monitored by the node watchdog and the shard is healthy |
| STATUS | The shard’s status |

title: Example

text: [code example]

code:
rladmin status
        [ extra <parameter> ]
        [ issues_only]

section_id: status

code:
$ rladmin status extra all
CLUSTER:
OK. Cluster master: 1 (198.51.100.2)
Cluster health: OK, [1, 0.13333333333333333, 0.03333333333333333]
failures/minute - avg1 1.00, avg15 0.13, avg60 0.03.

CLUSTER NODES:
NODE:ID ROLE   ADDRESS      EXTERNAL_ADDRESS HOSTNAME     MASTERS SLAVES OVERBOOKING_DEPTH SHARDS CORES FREE_RAM        PROVISIONAL_RAM VERSION   SHA    RACK-ID STATUS
node:1  master 198.51.100.2                  3d99db1fdf4b 4       0      10.91GB           4/100  6     14.91GB/19.54GB 10.91GB/16.02GB 6.2.12-37 5c2106 -       OK
node:2  slave  198.51.100.3                  fc7a3d332458 0       0      11.4GB            0/100  6     14.91GB/19.54GB 11.4GB/16.02GB  6.2.12-37 5c2106 -       OK
*node:3 slave  198.51.100.4                  b87cc06c830f 0       0      11.4GB            0/100  6     14.91GB/19.54GB 11.4GB/16.02GB  6.2.12-37 5c2106 -       OK

DATABASES:
DB:ID NAME      TYPE  STATUS SHARDS PLACEMENT REPLICATION PERSISTENCE ENDPOINT                        EXEC_STATE EXEC_STATE_MACHINE BACKUP_PROGRESS MISSING_BACKUP_TIME REDIS_VERSION
db:3  database3 redis active 4      dense     disabled    disabled    redis-11103.cluster.local:11103 N/A        N/A                N/A             N/A                 6.0.16

ENDPOINTS:
DB:ID     NAME             ID                    NODE       ROLE       SSL        WATCHDOG_STATUS
db:3      database3        endpoint:3:1          node:1     single     No         OK

SHARDS:
DB:ID NAME      ID      NODE   ROLE   SLOTS       USED_MEMORY BACKUP_PROGRESS RAM_FRAG WATCHDOG_STATUS STATUS
db:3  database3 redis:4 node:1 master 0-4095      2.08MB      N/A             4.73MB   OK              OK
db:3  database3 redis:5 node:1 master 4096-8191   2.08MB      N/A             4.62MB   OK              OK
db:3  database3 redis:6 node:1 master 8192-12287  2.08MB      N/A             4.59MB   OK              OK
db:3  database3 redis:7 node:1 master 12288-16383 2.08MB      N/A             4.66MB   OK              OK

code:
rladmin status databases
        [ extra <parameters> ]
        [ sort <column_titles> ]
        [ issues_only ]

section_id: status-databases

code:
$ rladmin status databases sort REPLICATION PERSISTENCE
DB:ID NAME      TYPE  STATUS SHARDS PLACEMENT REPLICATION PERSISTENCE ENDPOINT
db:1  database1 redis active 1      dense     disabled    disabled    redis-10269.testdbd11169.localhost:10269
db:2  database2 redis active 1      dense     disabled    snapshot    redis-13897.testdbd11169.localhost:13897
db:3  database3 redis active 1      dense     enabled     snapshot    redis-19416.testdbd13186.localhost:19416

code:
rladmin status endpoints
        [ node <id> ]
        [ db { db:<id> | <name> } ]
        [ extra <parameters> ]
        [ sort <column_titles> ]
        [ issues_only ]

section_id: status-endpoints

code:
$ rladmin status endpoints
DB:ID     NAME             ID                    NODE        ROLE        SSL
db:1      database1        endpoint:1:1          node:1      single      No
db:2      database2        endpoint:2:1          node:2      single      No
db:3      database3        endpoint:3:1          node:3      single      No

code:
rladmin status modules
        [ db { db:<id1> | <name1> } ... { db:<idN> | <nameN> } ]
        [ extra { all | compatible_redis_version | min_redis_version | module_id } ]

section_id: status-modules

code:
$ rladmin status modules extra all
CLUSTER MODULES:
MODULE           VERSION   MIN_REDIS_VERSION  ID
RedisBloom       2.4.5     6.0                1b895a180592cbcae5bd3bff6af24be2
RedisBloom       2.6.8     7.1                95264e7c9ac9540268c115c86a94659b
RediSearch 2     2.6.12    6.0                2c000539f65272f7a2712ed3662c2b6b
RediSearch 2     2.8.9     7.1                dd9a75710db528afa691767e9310ac6f
RedisGears       2.0.15    7.1                18c83d024b8ee22e7caf030862026ca6
RedisGraph       2.10.12   6.0                5a1f2fdedb8f6ca18f81371ea8d28f68
RedisJSON        2.4.7     6.0                28308b101a0203c21fa460e7eeb9344a
RedisJSON        2.6.8     7.1                b631b6a863edde1b53b2f7a27a49c004
RedisTimeSeries  1.8.11    6.0                8fe09b00f56afe5dba160d234a6606af
RedisTimeSeries  1.10.9    7.1                98a492a017ea6669a162fd3503bf31f3

DATABASE MODULES:
DB:ID      NAME             MODULE            VERSION  ARGS              STATUS
db:1       search-json-db   RediSearch 2      2.8.9    PARTITIONS AUTO   OK
db:1       search-json-db   RedisJSON         2.6.8                      OK
db:2       timeseries-db    RedisTimeSeries   1.10.9                     OK

code:
rladmin status nodes
        [ extra <parameters> ]
        [ sort <column_titles> ]
        [ issues_only ]

section_id: status-nodes

code:
$ rladmin status nodes sort PROVISIONAL_RAM HOSTNAME
CLUSTER NODES:
NODE:ID     ROLE       ADDRESS          EXTERNAL_ADDRESS          HOSTNAME            SHARDS     CORES          FREE_RAM                 PROVISIONAL_RAM          VERSION        STATUS
node:1      master     198.51.100.2                                 3d99db1fdf4b        4/100      6              14.74GB/19.54GB          10.73GB/16.02GB          6.2.12-37      OK
*node:3     slave      198.51.100.4                                 b87cc06c830f        0/100      6              14.74GB/19.54GB          11.22GB/16.02GB          6.2.12-37      OK
node:2      slave      198.51.100.3                                 fc7a3d332458        0/100      6              14.74GB/19.54GB          11.22GB/16.02GB          6.2.12-37      OK

code:
rladmin status shards
        [ node <id> ]
        [ db {db:<id> | <name>} ]
        [ extra <parameters> ]
        [ sort <column_titles> ]
        [ issues_only ]

section_id: status-shards

code:
$ rladmin status shards sort USED_MEMORY ID
SHARDS:
DB:ID               NAME                       ID                   NODE               ROLE               SLOTS                           USED_MEMORY                     STATUS
db:3                database3                  redis:6              node:1             master             8192-12287                      2.04MB                          OK
db:3                database3                  redis:4              node:1             master             0-4095                          2.08MB                          OK
db:3                database3                  redis:5              node:1             master             4096-8191                       2.08MB                          OK
db:3                database3                  redis:7              node:1             master             12288-16383                     2.08MB                          OK


title: rladmin suffix

summary: Manages the DNS suffixes in the cluster.

page_type: content

title: Overview

role: overview

title: `suffix add`

role: content

text:
Adds a DNS suffix to the cluster.

[code example]

title: Parameters

role: parameters

text:
| Parameter | Type/Value       | Description                                                                                |
|-----------|------------------|-----------------------------------------------------------------------------------------------|
| name      | string           | DNS suffix to add to the cluster                                                             |
| default   |                  | Sets the given suffix as the default. If a default already exists, this overwrites it.  |
| internal  |                  | Forces the given suffix to use private IPs                                                    |
| mdns      |                  | Activates multicast DNS support for the given suffix                                           |
| slaves    | list of IPv4 addresses | The given suffix will notify the frontend DNS servers when a change in the frontend DNS has occurred |
| use_aaaa_ns |                | Activates IPv6 address support |

title: Returns

role: returns

text: Returns `Added suffixes successfully` if the suffix was added. Otherwise, it returns an error.

title: Example

role: example

text: [code example]

title: `suffix delete`

text:
Deletes an existing DNS suffix from the cluster.

[code example]

title: Parameters

text:
| Parameter | Type/Value       | Description                                                                                |
|-----------|------------------|-----------------------------------------------------------------------------------------------|
| name      | string           | DNS suffix to delete from the cluster                                                         |

title: Returns

text: Returns `Suffix deleted successfully` if the suffix was deleted. Otherwise, it returns an error.

title: Example

text: [code example]

title: `suffix list`

text:
Lists the DNS suffixes in the cluster.

[code example]

title: Parameters

title: Returns

text: Returns a list of the DNS suffixes.

title: Example

text: [code example]

code:
rladmin suffix add name <name>
        [default]
        [internal]
        [mdns]
        [use_aaaa_ns]
        [slaves <ip>..]

section_id: suffix-add

code:
$ rladmin suffix add name new.rediscluster.local
Added suffixes successfully

section_id: example

code: rladmin suffix delete name <name>

section_id: suffix-delete

code:
$ rladmin suffix delete name new.rediscluster.local
Suffix deleted successfully

code: rladmin suffix list

section_id: suffix-list

code:
$ rladmin suffix list
List of all suffixes:
cluster.local
new.rediscluster.local


title: rladmin tune

summary: Configures parameters for databases, proxies, nodes, and clusters.

title: Overview

title: `tune cluster`

text:
Configures cluster parameters.

[code example]

title: Parameters

text:
| Parameters                             | Type/Value                        | Description                                                                                |
|----------------------------------------|-----------------------------------|------------------------------------------------------------------------------------------------------------------------------|
| acl_pubsub_default | `resetchannels`
 `allchannels` | Default pub/sub ACL rule for all databases in the cluster:
•`resetchannels` blocks access to all channels (restrictive)
•`allchannels` allows access to all channels (permissive) |
| automatic_node_offload | `enabled`
`disabled` | Define whether automatic node offload migration will take place |
| auto_recovery | `enabled`
`disabled` | Defines whether to use automatic recovery after shard failure |
| data_internode_encryption              | `enabled`
`disabled`       | Activates or deactivates [internode encryption]() for new databases    |
| db_conns_auditing                      | `enabled`
 `disabled`      | Activates or deactivates [connection auditing]() by default for new databases of a cluster                                                                  |
| default_concurrent_restore_actions     | integer
`all`              | Default number of concurrent actions when restoring a node from a snapshot (positive integer or "all")                         |
| default_non_sharded_proxy_policy | `single`

`all-master-shards`

`all-nodes` | Default [proxy policy]() for newly created non-sharded databases' endpoints |
| default_oss_sharding | `enabled`
`disabled` | Default hashing policy to use for new databases. Set to `disabled` by default. This field is for future use only and should not be changed. |
| default_recovery_wait_time | integer | The default time for new databases to wait for the persistence file to be available during automatic recovery. After the wait time expires, auto recovery completes with potential data loss. The default `-1` means to wait forever. |
| default_redis_version                  | version number                    | The default Redis database compatibility version used to create new databases.

  The value parameter should be a version number in the form of "x.y" where _x_ represents the major version number and _y_ represents the minor version number.  The final value corresponds to the desired version of Redis.

You cannot set _default_redis_version_ to a value higher than that supported by the current _redis_upgrade_policy_ value. |
| default_sharded_proxy_policy | `single`

`all-master-shards`

`all-nodes` | Default [proxy policy]() for newly created sharded databases' endpoints |
| default_shards_placement | `dense`
`sparse` | New databases place shards according to the default [shard placement policy]() |
| default_tracking_table_max_keys_policy | integer (default: 1000000) | Defines the default value of the client-side caching invalidation table size for new databases. 0 makes the cache unlimited. |
| expose_hostnames_for_all_suffixes      | `enabled`
`disabled`       | Exposes hostnames for all DNS suffixes                                                                                |
| failure_detection_sensitivity | `high`
`low` | Predefined thresholds and timeouts for failure detection (previously known as `watchdog_profile`)
• `high` (previously `local-network`) – high failure detection sensitivity, lower thresholds, faster failure detection and failover
• `low` (previously `cloud`) – low failure detection sensitivity, higher tolerance for latency variance (also called network jitter) |
| filter_node_wd_health_metrics | `enabled`
`disabled` | When enabled, `node_wd` health metrics (`shard_ping_failures`, `endpoint_ping_failures`, `dmc_ping_failures` and their duration counterparts) are not emitted to `statsd` |
| login_lockout_counter_reset_after      | time in seconds                   | Time after failed login attempt before the counter resets to 0                                                                   |
| login_lockout_duration                 | time in seconds                   | Time a locked account remains locked ( "0" means only an admin can unlock the account)                                   |
| login_lockout_threshold                | integer                           | Number of failed sign-in attempts to trigger locking a user account ("0" means never lock the account)                   |
| max_saved_events_per_type              | integer                           | Maximum number of events each type saved in CCS per object type                                                              |
| max_simultaneous_backups               | integer (default: 4)                      | Number of database backups allowed to run at the same time. Combines with `max_redis_forks` (set by [`tune node`](#tune-node)) to determine the number of shard backups allowed to run simultaneously.                                                                                |
| metrics_exporter_expose_bdb_name       | `enabled`
`disabled`       | If enabled, adds a label with the database name to relevant metrics                                                          |
| parallel_shards_upgrade                | integer
`all`              | Number of shards upgraded in parallel during DB upgrade (positive integer or "all")                                          |
| redis_migrate_node_threshold           | size in MB                        | Memory (in MBs by default or can be specified) needed to migrate a database between nodes                                   |
| redis_migrate_node_threshold_percent   | percentage                | Memory (in percentage) needed to migrate a database between nodes                                                            |
| redis_provision_node_threshold         | size in MB                        | Memory (in MBs by default or can be specified) needed to provision a new database                                           |
| redis_provision_node_threshold_percent | percentage                | Memory (in percentage) needed to provision a new database                                                                    |
| redis_upgrade_policy                   | `latest`
`major`           | When you upgrade or create a new Redis database, this policy determines which version of Redis database compatibility is used.

Supported values are:

`latest`, which applies the most recent Redis compatibility update \(_effective default prior to v6.2.4_)

`major`, which applies the most recent major release compatibility update (_default as of v6.2.4_).

                                                                                |
| repl_diskless                          | `enabled`
`disabled`       | Activates or deactivates diskless replication (can be overridden per database)                                              |
| resp3_default | `enabled`
 `disabled` | Determines the default value of the `resp3` option upon upgrading a database to version 7.2 (defaults to `enabled`) |
| show_internals                         | `enabled`
`disabled`       | Controls the visibility of internal databases that are only used for the cluster's management                                |
| slave_ha                               | `enabled`
 `disabled`   | Activates or deactivates [replica high availability]() in the cluster
(enabled by default; use [`rladmin tune db`](#tune-db) to change `slave_ha` for a specific database)

Deprecated as of Redis Software v7.2.4. |
| slave_ha_bdb_cooldown_period           | time in seconds (default: 7200) | Time (in seconds) a database must wait after its shards are relocated by [replica high availability]() before it can go through another shard migration if another node fails (default is 2 hours) |
| slave_ha_cooldown_period               | time in seconds (default: 3600) | Time (in seconds) [replica high availability]() must wait after relocating shards due to node failure before performing another shard migration for any database in the cluster (default is 1 hour) |
| slave_ha_grace_period                  | time in seconds (default: 600) | Time (in seconds) between when a node fails and when [replica high availability]() starts relocating shards to another node      |
| watchdog_profile                       | `cloud`
 `local-network` | Watchdog profiles with preconfigured thresholds and timeouts (deprecated as of Redis Software v6.4.2-69; use `failure_detection_sensitivity` instead)
• `cloud` is suitable for common cloud environments and has a higher tolerance for latency variance (also called network jitter).
• `local-network` is suitable for dedicated LANs and has better failure detection and failover times. |

title: Returns

text:
Returns `Finished successfully` if the cluster configuration was changed. Otherwise, it returns an error.

Use [`rladmin info cluster`]() to verify the cluster configuration was changed.

title: Example

text: [code example]

title: `tune db`

text:
Configures database parameters.

[code example]

title: Parameters

text:
| Parameter                            | Type/Value                       | Description                                                                                |
|--------------------------------------|----------------------------------|---------------------------------------------------------------------------------------------------------------------------------------|
| db:id                                | integer                          | ID of the specified database                                                                                |
| name                                 | string                           | Name of the specified database                                                                                |
| client_buffer                        | value in MB hard:soft:time       | Redis client output buffer limits                                                                                |
| conns                                | integer                          | Size of internal connection pool, specified per-thread or per-shard depending on conns_type                                           |
| conns_type                           | `per-thread`
 `per-shard`   | Specifies connection pool size as either per-thread or per-shard                                                                      |
| continue_on_error                    |                                  | Flag that skips tuning shards that can't be reached                                                                                |
| crdt_repl_backlog                    | value in MB
 `auto`         | Size of the Active-Active replication buffer                                                                                |
| crdt_xadd_id_uniqueness_mode         | `liberal`
 `semi-strict`
 `strict` | XADD's behavior in an Active-Active database, defined as liberal, semi-strict, or strict (see descriptions below)         |
| data_internode_encryption            | `enabled`
 `disabled`       | Activates or deactivates [internode encryption]() for the database               |
| db_conns_auditing                    | `enabled`
 `disabled`       | Activates or deactivates database [connection auditing]() for a database                                                                 |
| gradual_src_mode                     | `enabled`
 `disabled`       | Activates or deactivates gradual sync of sources                                                                                |
| gradual_sync_max_shards_per_source   | integer                          | Number of shards per sync source that can be replicated in parallel (positive integer)                                                |
| gradual_sync_mode                    | `enabled`
 `disabled`
 `auto` | Activates, deactivates, or automatically determines gradual sync of source shards                                              |
| master_persistence                   | `enabled`
 `disabled`       | If enabled, persists the primary shard in addition to replica shards in a replicated and persistent database. |
| max_aof_file_size                    | size in MB                       | Maximum size (in MB, if not specified) of [AoF]() file (minimum value is 10 GB)              |
| max_aof_load_time | time in seconds | Time limit in seconds to load a shard from an append-only file (AOF). If exceeded, an AOF rewrite is initiated to decrease future load time.
Minimum: 2700 seconds (45 minutes)
Default: 3600 seconds (1 hour) |
| max_client_pipeline                  | integer                          | Maximum commands in the proxy's pipeline per client connection (max value is 2047, default value is 200)                              |
| max_connections                      | integer                          | Maximum client connections to the database's endpoint (default value is 0, which is unlimited)                                            |
| max_shard_pipeline                   | integer                          | Maximum commands in the proxy's pipeline per shard connection (default value is 200)                                                  |
| maxclients                           | integer                          | Controls the maximum client connections between the proxy and shards (default value is 10000)                                         |
| metrics_export_all                   | `enabled`
 `disabled`       | Activates the exporter to expose all shard metrics                                                                                |
| mkms                                 | `enabled`
 `disabled`       | Activates multi-key multi-slot commands                                                                                |
| module_config_params | string | Configures module arguments at runtime. Enclose `module_config_params` within quotation marks. |
| module_name | `search`
`ReJSON`
`graph`
`timeseries`
`bf`
`rg` | The module to configure with `module_config_params` |
| mtls_allow_outdated_certs             | `enabled`
 `disabled`       | If enabled, allows outdated certificates in mTLS connections                                   |
| mtls_allow_weak_hashing              | `enabled`
 `disabled`       | Activates weak hashing (less than 2048 bits) in mTLS connections                       |
| oss_cluster                          | `enabled`
 `disabled`       | Activates OSS cluster API                                                                                |
| oss_cluster_api_preferred_ip_type    | `internal`
 `external`      | IP type for the endpoint and database in the OSS cluster API (default is internal)                                     |
| repl_backlog                         | size in MB
 `auto`          | Size of the replication buffer                                                                                |
| repl_diskless                        | `enabled`
 `disabled`
 `default`   | Activates or deactivates diskless replication (defaults to the cluster setting)                                          |
| repl_timeout                         | time in seconds                  | Replication timeout (in seconds)                                                                                |
| resp3 | `enabled`
 `disabled` | Enables or deactivates RESP3 support (defaults to `enabled`) |
| schedpolicy                          | `cmp`
 `mru`
 `spread`
 `mnp` | Controls how server-side connections are used when forwarding traffic to shards                                           |
| shards_placement | `dense`
 `sparse` | Configures the [shard placement policy]() for the database |
| skip_import_analyze                  | `enabled`
 `disabled`       | Skips the analyzing step when importing a database                                                                                |
| slave_buffer                         | `auto`
value in MB
 hard:soft:time | Redis replica output buffer limits
• `auto`: dynamically adjusts the buffer limit based on the shard’s current used memory
• value in MB: sets the buffer limit in MB
• hard:soft:time: sets the hard limit (maximum buffer size in MB), soft limit in MB, and the time in seconds that the soft limit can be exceeded |
| slave_ha                             | `enabled`
 `disabled`       | Activates or deactivates replica high availability (defaults to the cluster setting)                                                      |
| slave_ha_priority                    | integer                          | Priority of the database in the replica high-availability mechanism                                                                           |
| syncer_mode                          | `distributed`
 `centralized`| Configures syncer to run in distributed or centralized mode. For distributed syncer, the DMC policy must be all-nodes or all-master-nodes |
| syncer_monitoring                    | `enabled`
 `disabled`       | Activates syncer monitoring                                                                                |
| tracking_table_max_keys | integer | The client-side caching invalidation table size. 0 makes the cache unlimited. |

| XADD behavior mode | Description |
| - | - |
| liberal | XADD succeeds with any valid ID (not recommended, allows duplicate IDs) |
| semi-strict | Allows a full ID. Partial IDs are completed with the unique database instance ID (not recommended, allows duplicate IDs). |
| strict | XADD fails if a full ID is given. Partial IDs are completed using the unique database instance ID. |

title: Returns

text:
Returns `Finished successfully` if the database configuration was changed. Otherwise, it returns an error.

Use [`rladmin info db`]() to verify the database configuration was changed.

title: Example

text: [code example]

title: `tune node`

text:
Configures node parameters.

[code example]

title: Parameters

text:
| Parameter            | Type/Value | Description                                                                                |
|----------------------|------------|----------------------------------------------------------------------------------------------------------------------------------|
| id                   | integer    | ID of the specified node                                                                                |
| all                  |            | Configures settings for all nodes                                                                                |
| max_listeners        | integer    | Maximum number of endpoints that may be bound to the node                                                                        |
| max_redis_forks      | integer    | Maximum number of background processes forked from shards that may exist on the node at any given time                           |
| max_redis_servers    | integer    | Maximum number of shards allowed to reside on the node                                                                           |
| max_slave_full_syncs | integer    | Maximum number of simultaneous replica full-syncs that may be running at any given time (0: Unlimited, -1: Use cluster settings) |
| quorum_only          | `enabled`<br /> `disabled` | If activated, configures the node as a [quorum-only node]()                         |

title: Returns

text:
Returns `Finished successfully` if the node configuration was changed. Otherwise, it returns an error.

Use [`rladmin info node`]() to verify the node configuration was changed.

title: Example

text: [code example]

title: `tune proxy`

text:
Configures proxy parameters.

[code example]

title: Parameters

text:
| Parameter       | Type/Value                 | Description                                                                         |
|-----------------|----------------------------|-------------------------------------------------------------------------------------|
| id              | integer                    | ID of the specified proxy                                                           |
| all             |                            | Configures settings for all proxies                                                 |
| client_eviction | boolean (default: false) | If `true,`, enables client eviction based on `maxmemory_clients`. |
| incoming_connections_capacity | integer (default: 0) | The maximum number of concurrent incoming connections, also known as the maximum burst size. The default is 0, which means no limit. |
| incoming_connections_min_capacity | integer (default: 10) | The minimum number of free slots required before accepting new connections after an overflow. |
| incoming_connections_rate_limit | integer (default: 0) | The maximum number of incoming connections per second. The default is 0, which means no limit. |
| max_threads     | integer, (range: 1-255) | Maximum number of threads allowed                                                   |
| mode            | `static`<br /> `dynamic` | Determines if the proxy automatically adjusts the number of threads based on load size  |
| scale_duration  | time in seconds, (range: 10-300) | Time of scale_threshold CPU utilization before the automatic proxy automatically scales |
| scale_threshold | percentage, (range: 50-99) | CPU utilization threshold that triggers spawning new threads                        |
| threads         | integer, (range: 1-255) | Initial number of threads created at startup                                        |

title: Returns

text:
Returns `OK` if the proxy configuration was changed. Otherwise, it returns an error.

Use [`rladmin info proxy`]() to verify the proxy configuration was changed.

title: Example

text: [code example]

code:
rladmin tune cluster
        [ repl_diskless { enabled | disabled } ]
        [ redis_provision_node_threshold <size> ]
        [ redis_migrate_node_threshold <size> ]
        [ redis_provision_node_threshold_percent <percent> ]
        [ redis_migrate_node_threshold_percent <percent> ]
        [ max_simultaneous_backups <number> ]
        [ failure_detection_sensitivity { high | low } ]
        [ watchdog_profile { cloud | local-network } ]
        [ slave_ha { enabled | disabled } ]
        [ slave_ha_grace_period <seconds> ]
        [ slave_ha_cooldown_period <seconds> ]
        [ slave_ha_bdb_cooldown_period <seconds> ]
        [ max_saved_events_per_type <value> ]
        [ metrics_exporter_expose_bdb_name { enabled | disabled } ]
        [ parallel_shards_upgrade <value> ]
        [ default_concurrent_restore_actions <value> ]
        [ show_internals { enabled | disabled } ]
        [ expose_hostnames_for_all_suffixes { enabled | disabled } ]
        [ redis_upgrade_policy { latest | major } ]
        [ default_redis_version <value> ]
        [ default_non_sharded_proxy_policy { single | all-master-shards | all-nodes } ]
        [ default_sharded_proxy_policy { single | all-master-shards | all-nodes } ]
        [ default_shards_placement { dense | sparse } ]
        [ data_internode_encryption { enabled | disabled } ]
        [ db_conns_auditing { enabled | disabled } ]
        [ acl_pubsub_default { resetchannels | allchannels } ]
        [ resp3_default { enabled | disabled } ]
        [ automatic_node_offload { enabled | disabled } ]
        [ auto_recovery { enabled | disabled } ]
        [ default_recovery_wait_time <value> ]
        [ default_tracking_table_max_keys_policy <value> ]
        [ default_oss_sharding { enabled | disabled } ]
        [ filter_node_wd_health_metrics { enabled | disabled } ]
 ]

section_id: tune-cluster

code:
$ rladmin tune cluster slave_ha enabled
Finished successfully
$ rladmin info cluster | grep slave_ha
    slave_ha: enabled

code:
rladmin tune db { db:<id> | <name> }
        [ slave_buffer <auto | valueMB | hard:soft:time> ]
        [ client_buffer <value> ]
        [ repl_backlog <valueMB | auto> ]
        [ crdt_repl_backlog <valueMB | auto> ]
        [ repl_timeout <seconds> ]
        [ repl_diskless { enabled | disabled | default } ]
        [ master_persistence { enabled | disabled } ]
        [ maxclients <value> ]
        [ schedpolicy { cmp | mru | spread | mnp } ]
        [ max_shard_pipeline <value> ]
        [ conns <value> ]
        [ conns_type <value> ]
        [ max_client_pipeline <value> ]
        [ max_connections <value> ]
        [ max_aof_file_size <size> ]
        [ max_aof_load_time <seconds> ]
        [ oss_cluster { enabled | disabled } ]
        [ oss_cluster_api_preferred_ip_type <value> ]
        [ slave_ha { enabled | disabled } ]
        [ slave_ha_priority <value> ]
        [ skip_import_analyze { enabled | disabled } ]
        [ mkms { enabled | disabled } ]
        [ continue_on_error ]
        [ gradual_src_mode { enabled | disabled } ]
        [ gradual_sync_mode { enabled | disabled | auto } ]
        [ gradual_sync_max_shards_per_source <value> ]
        [ module_name <value> ] [ module_config_params <value> ]
        [ crdt_xadd_id_uniqueness_mode { liberal | semi-strict | strict } ]
        [ metrics_export_all { enabled | disabled } ]
        [ syncer_mode { distributed | centralized }]
        [ syncer_monitoring { enabled | disabled } ]
        [ mtls_allow_weak_hashing { enabled | disabled } ]
        [ mtls_allow_outdated_certs { enabled | disabled } ]
        [ data_internode_encryption { enabled | disabled } ]
        [ db_conns_auditing { enabled | disabled } ]
        [ resp3 { enabled | disabled } ]
        [ shards_placement { dense | sparse } ]
        [ tracking_table_max_keys <size> ]

section_id: tune-db

code:
$ rladmin tune db db:4 repl_timeout 300
Tuning database: o
Finished successfully
$ rladmin info db db:4 | grep repl_timeout
  repl_timeout: 300 seconds

code:
tune node  { <id> | all }
     [ max_listeners <value> ]
     [ max_redis_forks <value> ]
     [ max_redis_servers <value> ]
     [ max_slave_full_syncs <value> ]
     [ quorum_only { enabled | disabled } ]

section_id: tune-node

code:
$ rladmin tune node 3 max_redis_servers 120
Finished successfully
$ rladmin info node 3 | grep "max redis servers"
    max redis servers: 120

code:
rladmin tune proxy { <id> | all }
        [ mode { static | dynamic } ]
        [ threads <value> ]
        [ max_threads <value> ]
        [ scale_threshold <value> ]
        [ scale_duration <seconds> ]

section_id: tune-proxy

code:
$ rladmin tune proxy 2 scale_threshold 75
Configuring proxies:
  - proxy:2: ok
$ rladmin info proxy 2 | grep scale_threshold
    scale_threshold: 75 (%)


title: rladmin upgrade

summary: Upgrades a database's Redis version and modules.

title: `upgrade db`

text:
Schedules a restart of the primary and replica processes of a database and then upgrades the database to the latest version of Redis.

For more information, see [Upgrade an existing Redis Software Deployment]().

[code example]

As of v6.2.4, the default behavior for `upgrade db` has changed.  It is now controlled by a new parameter that sets the default upgrade policy used to create new databases and to upgrade ones already in the cluster.  To learn more, see [`tune cluster default_redis_version`]().

As of Redis Software version 7.8.2, `upgrade db` will always upgrade modules.

title: Parameters

text:
| Parameters                 | Type/Value               | Description                                                                                |
|----------------------------|--------------------------|------------------------------------------------------------------------------------------------------------------------|
| db                         | db:\<id\>
name     | Database to upgrade                                                                                |
| and module | [upgrade module](#upgrade-module) command | Clause that allows the upgrade of a database and a specified Redis module in a single step with only one restart (can be specified multiple times). Deprecated as of Redis Software v7.8.2.  |
| discard_data               |                          | Indicates that data will not be saved after the upgrade                                                                |
| force                      |                          | Forces upgrade and skips warnings and confirmations                                                                    |
| force_discard              |                          | Forces `discard_data` if replication or persistence is enabled                                                   |
| keep_crdt_protocol_version |                          | Keeps the current CRDT protocol version                                                                                |
| keep_redis_version       |                          | Upgrades to a new patch release, not to the latest major.minor version. Deprecated as of Redis Software v7.8.2. To upgrade modules without upgrading the Redis database version, set `redis_version` to the current Redis database version instead. |
| parallel_shards_upgrade    | integer
'all'        | Maximum number of shards to upgrade all at once                                                                        |
| preserve_roles             |                          | Performs an additional failover to guarantee the shards' roles are preserved                                             |
| redis_version              | Redis version            | Upgrades the database to the specified version instead of the latest version                                               |

title: Returns

text: Returns `Done` if the upgrade completed. Otherwise, it returns an error.

title: Example

text: [code example]

code:
rladmin upgrade db { db:<id> | <name> }
                [ preserve_roles ]
                [ keep_redis_version ]
                [ discard_data ]
                [ force_discard ]
                [ parallel_shards_upgrade ]
                [ keep_crdt_protocol_version ]
                [ redis_version <version> ]
                [ force ]
                [ and module module_name <module name> version <version> module_args <arguments string> ]

section_id: upgrade-db

code:
$ rladmin upgrade db db:5
Monitoring e39c8e87-75f9-4891-8c86-78cf151b720b
active - SMUpgradeBDB init
active - SMUpgradeBDB check_slaves
.active - SMUpgradeBDB prepare
active - SMUpgradeBDB stop_forwarding
oactive - SMUpgradeBDB start_wd
active - SMUpgradeBDB wait_for_version
.completed - SMUpgradeBDB
Done


title: rladmin verify

summary: Prints verification reports for the cluster.

title: Overview

title: `verify balance`

text:
Prints a balance report that displays all of the unbalanced endpoints or nodes in the cluster.

[code example]

The [proxy policy]() determines which nodes or endpoints to report as unbalanced.

A node is unbalanced if:
- `all-nodes` proxy policy and the node has no endpoint

An endpoint is unbalanced in the following cases:
- `single` proxy policy and one of the following is true:
    - Shard placement is [`sparse`]() and none of the master shards are on the node
    - Shard placement is [`dense`]() and some master shards are on a different node from the endpoint
- `all-master-shards` proxy policy and one of the following is true:
    - None of the master shards are on the node
    - Some master shards are on a different node from the endpoint

title: Parameters

text:
| Parameter | Type/Value | Description |
|-----------|------------|-------------|
| node | integer | Specify a node ID to return a balance table for that node only (optional) |

title: Returns

text: Returns a table of unbalanced endpoints and nodes in the cluster.

title: Examples

text:
Verify all nodes:

[code example]

Verify a specific node:

[code example]

title: `verify rack_aware`

text:
Verifies that the cluster complies with the rack awareness policy and reports any discovered rack collisions, if [rack-zone awareness]() is enabled.

[code example]

title: Parameters

title: Returns

text: Returns whether the cluster is rack aware. If rack awareness is enabled, it returns any rack collisions.

title: Example

text: [code example]

code: rladmin verify balance [ node <ID> ]

section_id: verify-balance

code:
$ rladmin verify balance
The table presents all of the unbalanced endpoints/nodes in the cluster
BALANCE:
NODE:ID  DB:ID  NAME  ENDPOINT:ID  PROXY_POLICY  LOCAL SHARDS   TOTAL SHARDS

section_id: examples

code:
$ rladmin verify balance node 1
The table presents all of the unbalanced endpoints/nodes in the cluster
BALANCE:
NODE:ID  DB:ID  NAME  ENDPOINT:ID  PROXY_POLICY  LOCAL SHARDS   TOTAL SHARDS

code: rladmin verify rack_aware

section_id: verify-rack-aware

code:
$ rladmin verify rack_aware

Cluster policy is not configured for rack awareness.


title: rlcheck

summary: Verify nodes.

title: Overview

text:
The `rlcheck` utility runs various [tests](#tests) to check the health of a Redis Software node and reports any discovered issues.
You can use this utility to confirm a successful installation or to verify that the node is functioning properly.

To resolve issues reported by `rlcheck`, [contact Redis support](https://redis.com/company/support/).

title: Run rlcheck

text:
You can run `rlcheck` from the node host's command line.
The output of `rlcheck` shows information specific to the host you run it on.

To run `rlcheck` tests:

1. Sign in to the Redis Software host with an account that is a member of the **redislabs** operating system group.

1. Run:

    [code example]

title: Options

text:
You can run `rlcheck` with the following options:

| Option | Description |
|--------|-------------|
| <nobr>`--suppress-tests TEXT`</nobr> | Skip the specified, comma-delimited list of tests. See [Tests](#tests) for the list of tests and descriptions. |
| <nobr>`--retry-delay INTEGER`</nobr> | Delay between retries, in seconds. |
| <nobr>`--retry INTEGER`</nobr> | Number of retries after a failure. |
| <nobr>`--file-path TEXT`</nobr> | Custom path to `rlcheck.log`. |
| <nobr>`--continue-on-error`</nobr> | Continue to run all tests even if a test fails, then show all errors when complete. |
| `--help` | Return the list of `rlcheck` options. |

title: Tests

text:
`rlcheck` runs the following tests by default:

| Test name | Description |
|-----------|-------------|
| verify_owner_and_group | Verifies the owner and group for Redis Software files are correct. |
| verify_bootstrap_status | Verifies the local node's bootstrap process completed without errors. |
| verify_services | Verifies all Redis Software services are running. |
| verify_port_range | Verifies the [`ip_local_port_range`](https://www.kernel.org/doc/html/latest/networking/ip-sysctl.html) doesn't conflict with the ports Redis Software might assign to shards. |
| verify_pidfiles | Verifies all active local shards have PID files. |
| verify_capabilities | Verifies all binaries have the proper capability bits. |
| verify_existing_sockets | Verifies sockets exist for all processes that require them. |
| verify_host_settings | Verifies the following:
• Linux `overcommit_memory` setting is 1.
•`transparent_hugepage` is disabled.
• Socket maximum connections setting `somaxconn` is 1024. |
| verify_tcp_connectivity | Verifies this node can connect to all other alive nodes. |
| verify_encrypted_gossip | Verifies gossip communication is encrypted. |

code: rlcheck

section_id: run-rlcheck


title: Develop with Redis clients

summary: Redis client libraries allow you to connect to Redis instances from within your application. This section provides an overview of several recommended Redis clients for popular programming and scripting languages.

title: Overview

text: To connect to Redis instances from within your application, use a Redis client library that matches your application's language.

title: Official clients

text:
| Language | Client name |
| :---------- | :------------- |
| .Net | [NRedisStack]() |
| Go | [go-redis]() |
| Java | [Jedis]() (Synchronous) and [Lettuce]() (Asynchronous) |
| Node.js | [node-redis]() |
| Python | [redis-py]() |

Select a client name to see its quick start.

title: Other clients

text:
For a list of community-driven Redis clients, which are available for more programming languages, see
[Community-supported clients]().


title: Client-side caching compatibility with Redis Software and Redis Cloud

summary: Redis Software and Redis Cloud compatibility with client-side caching.

title: Overview

text: Redis Software and Redis Cloud support [client-side caching]() for databases with Redis versions 7.4 or later.

title: Required database versions

text:
Client-side caching in Redis Software and Redis Cloud requires Redis database versions 7.4 or later.

The following table shows the differences in client-side caching support by product:

| Redis product           | Client-side caching support |
|-------------------------|-----------------------------|
| Redis Open Source       | Redis v6.0 and later |
| Redis Cloud             | Redis database v7.4 and later |
| Redis Software          | Redis database v7.4 and later |

title: Supported RESP versions

role: compatibility

text:
Client-side caching in Redis Software and Redis Cloud requires [RESP3]().

The following table shows the differences in client-side caching support for RESP by product:

| Redis product with client-side caching  | RESP2 | RESP3 |
|-------------------------|-------|-------|
| Redis Open Source       | ✅ | ✅ |
| Redis Cloud             | ❌ | ✅ |
| Redis Software          | ❌ | ✅ |

title: Two connections mode with REDIRECT not supported

text: Unlike Redis Open Source, Redis Software and Redis Cloud do not support [two connections mode]() or the `REDIRECT` option for [`CLIENT TRACKING`]().

title: Change tracking_table_max_keys for a database

text:
When client-side caching is enabled, Redis uses an invalidation table to track which keys are cached by each connected client.

The configuration setting `tracking-table-max-keys` determines the maximum number of keys stored in the invalidation table and is set to `1000000` keys by default. Redis Software does not support using `CONFIG SET` to change this value, but you can use the REST API or rladmin instead.

To change `tracking_table_max_keys` for a database in a Redis Software cluster:

- [`rladmin tune db`]():

    [code example]

    You can use the database name in place of `db:<ID>` in the preceding command.

- [Update database configuration]() REST API request:

    [code example]

title: Change default tracking_table_max_keys

text:
The cluster-wide option `default_tracking_table_max_keys_policy` determines the default value of `tracking_table_max_keys` for new databases in a Redis Software cluster. `default_tracking_table_max_keys_policy` is set to `1000000` keys by default.

To change `default_tracking_table_max_keys_policy`, use one of the following methods:

- [`rladmin tune cluster`]()

    [code example]

- [Update cluster policy]() REST API request:

    [code example]

code: rladmin tune db db:<ID> tracking_table_max_keys 2000000

code:
PUT /v1/bdbs/<uid>
    { "tracking_table_max_keys": 2000000 }

code: rladmin tune cluster default_tracking_table_max_keys_policy 2000000

section_id: change-default-tracking-table-max-keys

code:
PUT /v1/cluster/policy
    { "default_tracking_table_max_keys_policy": 2000000 }


title: Cluster management commands compatibility

summary: Cluster management commands compatible with Redis Software.

title: Content

text:
[Clustering in Redis Software]() and [Redis Cloud]() differs from the [Redis Open Source cluster]() and works with all standard Redis clients.

Redis Software blocks most [cluster commands](?group=cluster). If you try to use a blocked cluster command, it returns an error.

| Command | Redis
Software | Redis
Cloud | Notes |
|:--------|:----------------------|:-----------------|:------|
| [ASKING]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [CLUSTER ADDSLOTS]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [CLUSTER ADDSLOTSRANGE]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [CLUSTER BUMPEPOCH]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [CLUSTER COUNT-FAILURE-REPORTS]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [CLUSTER COUNTKEYSINSLOT]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [CLUSTER DELSLOTS]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [CLUSTER DELSLOTSRANGE]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [CLUSTER FAILOVER]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [CLUSTER FLUSHSLOTS]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [CLUSTER FORGET]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [CLUSTER GETKEYSINSLOT]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [CLUSTER HELP]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> | Only supported with the [OSS cluster API](). |
| [CLUSTER INFO]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> | Only supported with the [OSS cluster API](). |
| [CLUSTER KEYSLOT]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> | Only supported with the [OSS cluster API](). |
| [CLUSTER LINKS]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [CLUSTER MEET]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [CLUSTER MYID]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [CLUSTER MYSHARDID]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [CLUSTER NODES]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> | Only supported with the [OSS cluster API](). |
| [CLUSTER REPLICAS]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [CLUSTER REPLICATE]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [CLUSTER RESET]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [CLUSTER SAVECONFIG]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [CLUSTER SET-CONFIG-EPOCH]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [CLUSTER SETSLOT]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [CLUSTER SHARDS]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> | Only supported with the [OSS cluster API](). |
| [CLUSTER SLAVES]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> | Deprecated as of Redis v5.0.0. |
| [CLUSTER SLOT-STATS]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [CLUSTER SLOTS]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> | Only supported with the [OSS cluster API](). Deprecated as of Redis v7.0.0. |
| [READONLY]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [READWRITE]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |


summary: Connection management commands compatibility.

title: Content

text:
The following tables show which Redis Open Source [connection management commands](?group=connection) are compatible with standard and Active-Active databases in Redis Software and Redis Cloud.

| Command | Redis
Software | Redis
Cloud | Notes |
|:--------|:----------------------|:-----------------|:------|
| [AUTH]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [CLIENT CACHING]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [CLIENT GETNAME]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [CLIENT GETREDIR]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [CLIENT ID]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> | Because Redis Software clustering allows [multiple active proxies](), `CLIENT ID` cannot guarantee incremental IDs between clients that connect to different nodes under multi proxy policies. |
| [CLIENT INFO]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [CLIENT KILL]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [CLIENT LIST]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [CLIENT NO-EVICT]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [CLIENT <nobr>NO-TOUCH</nobr>]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [CLIENT PAUSE]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [CLIENT REPLY]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [CLIENT SETINFO]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [CLIENT SETNAME]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [CLIENT TRACKING]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [CLIENT TRACKINGINFO]() |✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [CLIENT UNBLOCK]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [CLIENT UNPAUSE]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [ECHO]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [HELLO]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [PING]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [QUIT]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> | Deprecated as of Redis v7.2.0. |
| [RESET]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [SELECT]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> | Redis Software does not support shared databases due to potential negative performance impacts and blocks any related commands. The `SELECT` command is supported solely for compatibility with Redis Open Source but does not perform any operations in Redis Software. |


title: Data type commands compatibility

summary: Data type commands compatibility (bitmaps, geospatial indices, hashes, HyperLogLogs, lists, sets, sorted sets, streams, strings).

title: Overview

text: The following tables show which Redis Open Source data type commands are compatible with standard and Active-Active databases in Redis Software and Redis Cloud.

title: Bitmap commands

text:
| Command | Redis
Software | Redis
Cloud | Notes |
|:--------|:----------------------|:-----------------|:------|
| [BITCOUNT]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [BITFIELD]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [BITFIELD_RO]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [BITOP]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr>  |  |
| [BITPOS]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr>  |  |
| [GETBIT]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SETBIT]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |

title: Geospatial indices commands

text:
| Command | Redis
Software | Redis
Cloud | Notes |
|:--------|:----------------------|:-----------------|:------|
| [GEOADD]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [GEODIST]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [GEOHASH]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [GEOPOS]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [GEORADIUS]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> | Deprecated as of Redis v6.2.0. |
| [GEORADIUS_RO]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> | Deprecated as of Redis v6.2.0. |
| [GEORADIUSBYMEMBER]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> | Deprecated as of Redis v6.2.0. |
| [GEORADIUSBYMEMBER_RO]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> | Deprecated as of Redis v6.2.0. |
| [GEOSEARCH]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [GEOSEARCHSTORE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |

title: Hash commands

text:
| Command | Redis
Software | Redis
Cloud | Notes |
|:--------|:----------------------|:-----------------|:------|
| [HDEL]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [HEXISTS]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [HEXPIRE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [HEXPIREAT]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [HEXPIRETIME]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [HGET]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [HGETALL]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [HGETDEL]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [HGETEX]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [HINCRBY]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [HINCRBYFLOAT]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [HKEYS]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [HLEN]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [HMGET]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [HMSET]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> | Deprecated as of Redis v4.0.0. |
| [HPERSIST]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [HPEXPIRE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [HPEXPIREAT]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [HPEXPIRETIME]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [HPTTL]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [HRANDFIELD]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [HSCAN]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [HSET]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [HSETEX]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [HSETNX]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [HSTRLEN]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [HTTL]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [HVALS]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |

title: HyperLogLog commands

text:
| Command | Redis
Software | Redis
Cloud | Notes |
|:--------|:----------------------|:-----------------|:------|
| [PFADD]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [PFCOUNT]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [PFDEBUG]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [PFMERGE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [PFSELFTEST]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |

title: List commands

text:
| Command | Redis
Software | Redis
Cloud | Notes |
|:--------|:----------------------|:-----------------|:------|
| [BLMOVE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [BLMPOP]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [BLPOP]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [BRPOP]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [BRPOPLPUSH]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> | Deprecated as of Redis v6.2.0. |
| [LINDEX]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [LINSERT]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [LLEN]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [LMOVE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [LMPOP]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [LPOP]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [LPOS]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [LPUSH]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [LPUSHX]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [LRANGE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [LREM]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [LSET]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [LTRIM]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [RPOP]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [RPOPLPUSH]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> | Deprecated as of Redis v6.2.0. |
| [RPUSH]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [RPUSHX]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |

title: Set commands

text:
| Command | Redis
Software | Redis
Cloud | Notes |
|:--------|:----------------------|:-----------------|:------|
| [SADD]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SCARD]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SDIFF]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SDIFFSTORE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SINTER]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SINTERCARD]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SINTERSTORE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SISMEMBER]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SMEMBERS]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SMISMEMBER]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SMOVE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SPOP]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SRANDMEMBER]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SREM]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SSCAN]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SUNION]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SUNIONSTORE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |

title: Sorted set commands

text:
| Command | Redis
Software | Redis
Cloud | Notes |
|:--------|:----------------------|:-----------------|:------|
| [BZMPOP]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [BZPOPMAX]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [BZPOPMIN]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [ZADD]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [ZCARD]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [ZCOUNT]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [ZDIFF]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [ZDIFFSTORE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [ZINCRBY]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [ZINTER]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [ZINTERCARD]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [ZINTERSTORE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [ZLEXCOUNT]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [ZMPOP]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [ZMSCORE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [ZPOPMAX]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [ZPOPMIN]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [ZRANDMEMBER]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [ZRANGE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [ZRANGEBYLEX]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> | Deprecated as of Redis v6.2.0. |
| [ZRANGEBYSCORE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> | Deprecated as of Redis v6.2.0. |
| [ZRANGESTORE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [ZRANK]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [ZREM]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [ZREMRANGEBYLEX]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [ZREMRANGEBYRANK]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [ZREMRANGEBYSCORE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [ZREVRANGE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> | Deprecated as of Redis v6.2.0. |
| [ZREVRANGEBYLEX]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> | Deprecated as of Redis v6.2.0. |
| [ZREVRANGEBYSCORE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> | Deprecated as of Redis v6.2.0. |
| [ZREVRANK]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [ZSCAN]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [ZSCORE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [ZUNION]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [ZUNIONSTORE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |

title: Stream commands

text:
| Command | Redis
Software | Redis
Cloud | Notes |
|:--------|:----------------------|:-----------------|:------|
| [XACK]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [XACKDEL]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [XADD]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [XAUTOCLAIM]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [XCLAIM]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [XCFGSET]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [XDEL]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [XDELEX]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [XGROUP]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [XINFO]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [XLEN]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [XPENDING]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [XRANGE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [XREAD]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [XREADGROUP]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [XREVRANGE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [XSETID]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [XTRIM]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |

title: String commands

text:
| Command | Redis
Software | Redis
Cloud | Notes |
|:--------|:----------------------|:-----------------|:------|
| [APPEND]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [DECR]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [DECRBY]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [GET]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [GETDEL]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [GETEX]() | ✅ Standard
<nobr>✅ Active-Active\*</nobr> | ✅ Standard
<nobr>✅ Active-Active\*</nobr> | \*Not supported for HyperLogLog. |
| [GETRANGE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [GETSET]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> | Deprecated as of Redis v6.2.0. |
| [INCR]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [INCRBY]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [INCRBYFLOAT]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [LCS]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [MGET]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [MSET]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [MSETNX]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [PSETEX]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SET]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SETEX]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SETNX]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SETRANGE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| STRALGO | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> | Deprecated as of Redis v7.0.0. |
| [STRLEN]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SUBSTR]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> | Deprecated as of Redis v2.0.0. |

title: Vector set commands

text:
| Command | Redis
Software | Redis
Cloud | Notes |
|:--------|:----------------------|:-----------------|:------|
| [VADD]() | ✅ Standard
<nobr>❌ Active-Active</nobr> | ✅ Standard
<nobr>❌ Active-Active</nobr> |  |
| [VCARD]() | ✅ Standard
<nobr>❌ Active-Active</nobr> | ✅ Standard
<nobr>❌ Active-Active</nobr> |  |
| [VDIM]() | ✅ Standard
<nobr>❌ Active-Active</nobr> | ✅ Standard
<nobr>❌ Active-Active</nobr> |  |
| [VEMB]() | ✅ Standard
<nobr>❌ Active-Active</nobr> | ✅ Standard
<nobr>❌ Active-Active</nobr> |  |
| [VGETATTR]() | ✅ Standard
<nobr>❌ Active-Active</nobr> | ✅ Standard
<nobr>❌ Active-Active</nobr> |  |
| [VINFO]() | ✅ Standard
<nobr>❌ Active-Active</nobr> | ✅ Standard
<nobr>❌ Active-Active</nobr> |  |
| [VISMEMBER]() | ✅ Standard
<nobr>❌ Active-Active</nobr> | ✅ Standard
<nobr>❌ Active-Active</nobr> |  |
| [VLINKS]() | ✅ Standard
<nobr>❌ Active-Active</nobr> | ✅ Standard
<nobr>❌ Active-Active</nobr> |  |
| [VRANDMEMBER]() | ✅ Standard
<nobr>❌ Active-Active</nobr> | ✅ Standard
<nobr>❌ Active-Active</nobr> |  |
| [VREM]() | ✅ Standard
<nobr>❌ Active-Active</nobr> | ✅ Standard
<nobr>❌ Active-Active</nobr> |  |
| [VSETATTR]() | ✅ Standard
<nobr>❌ Active-Active</nobr> | ✅ Standard
<nobr>❌ Active-Active</nobr> |  |
| [VSIM]() | ✅ Standard
<nobr>❌ Active-Active</nobr> | ✅ Standard
<nobr>❌ Active-Active</nobr> |  |


title: Key commands compatibility

summary: Generic key commands compatible with Redis Software.

title: Content

text:
The following table shows which Redis Open Source [key (generic) commands](?group=generic) are compatible with standard and Active-Active databases in Redis Software and Redis Cloud.

| Command | Redis
Software | Redis
Cloud | Notes |
|:--------|:----------------------|:-----------------|:------|
| [COPY]() | ✅ Standard
<nobr>✅ Active-Active\*</nobr> | ✅ Standard
<nobr>✅ Active-Active\*</nobr> | For Active-Active or clustered databases, the source and destination keys must be in the same hash slot.

\*Not supported for stream consumer group info. |
| [DEL]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [DUMP]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [EXISTS]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [EXPIRE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [EXPIREAT]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [EXPIRETIME]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [KEYS]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [MIGRATE]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [MOVE]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> | Redis Software does not support shared databases due to potential negative performance impacts and blocks any related commands. |
| [OBJECT ENCODING]() | ✅ Standard
<nobr>❌ Active-Active</nobr> | ✅ Standard
<nobr>❌ Active-Active</nobr> | For Active-Active databases, use `CRDT.DEBUG ENCODING` instead. |
| [OBJECT FREQ]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [OBJECT IDLETIME]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [OBJECT REFCOUNT]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [PERSIST]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [PEXPIRE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [PEXPIREAT]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [PEXPIRETIME]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [PTTL]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [RANDOMKEY]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [RENAME]() | ✅ Standard
<nobr>✅ Active-Active\*</nobr> | ✅ Standard
<nobr>✅ Active-Active\*</nobr> | For Active-Active or clustered databases, the original key and new key must be in the same hash slot.

\*Not supported for stream consumer group info. |
| [RENAMENX]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> | For Active-Active or clustered databases, the original key and new key must be in the same hash slot. |
| [RESTORE]() | ✅ Standard
❌ Active-Active\*</nobr> | ✅ Standard
❌ Active-Active\*</nobr> | \*Only supported for module keys. |
| [SCAN]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SORT]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SORT_RO]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [TOUCH]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [TTL]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [TYPE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [UNLINK]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [WAIT]() | ✅ Standard
<nobr>❌ Active-Active\*</nobr> | ❌ Standard**
<nobr>❌ Active-Active</nobr> | \*For Active-Active databases, `WAIT` commands are supported for primary and replica shard replication. You can contact support to enable `WAIT` for local replicas only. `WAIT` is not supported for cross-instance replication.

\*\*`WAIT` commands are supported on Redis Cloud Flexible subscriptions. |
| [WAITAOF]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |


title: Compatibility with Redis Open Source commands

summary: Redis Open Source commands compatible with Redis Software.

title: Connection management commands compatibility

title: Data type commands compatibility

title: Key commands compatibility

summary: Pub/sub commands compatibility.

title: Pub/sub commands compatibility

summary: Scripting and function commands compatibility.

title: Scripting commands compatibility

summary: Server management commands compatibility.

summary: Transaction commands compatibility.

title: Transaction commands compatibility

title: Content

text:
Learn which Redis Open Source commands are compatible with Redis Software and [Redis Cloud]().

Select a command group for more details about compatibility with standard and Active-Active Redis Software.


title: Pub/sub commands compatibility

summary: Pub/sub commands compatibility.

title: Content

text:
The following table shows which Redis Open Source [pub/sub commands](?group=pubsub) are compatible with standard and Active-Active databases in Redis Software and Redis Cloud.

| Command | Redis
Software | Redis
Cloud | Notes |
|:--------|:----------------------|:-----------------|:------|
| [PSUBSCRIBE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [PUBLISH]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [PUBSUB CHANNELS]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [PUBSUB NUMPAT]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [PUBSUB NUMSUB]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [PUBSUB SHARDCHANNELS]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [PUBSUB SHARDNUMSUB]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [PUNSUBSCRIBE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SPUBLISH]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SSUBSCRIBE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SUBSCRIBE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SUNSUBSCRIBE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [UNSUBSCRIBE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |


title: Scripting commands compatibility

title: Overview

text: The following table shows which Redis Open Source [scripting and function commands](?group=scripting) are compatible with standard and Active-Active databases in Redis Software and Redis Cloud.

title: Function commands

text:
| Command | Redis
Software | Redis
Cloud | Notes |
|:--------|:----------------------|:-----------------|:------|
| [FCALL]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [FCALL_RO]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [FUNCTION DELETE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [FUNCTION DUMP]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [FUNCTION FLUSH]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [FUNCTION HELP]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [FUNCTION KILL]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [FUNCTION LIST]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [FUNCTION LOAD]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [FUNCTION RESTORE]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [FUNCTION STATS]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |

title: Scripting commands

text:
| Command | Redis
Software | Redis
Cloud | Notes |
|:--------|:----------------------|:-----------------|:------|
| [EVAL]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [EVAL_RO]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [EVALSHA]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [EVALSHA_RO]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SCRIPT DEBUG]() | ❌ Standard
<nobr>❌ Active-Active</nobr> | ❌ Standard
<nobr>❌ Active-Active</nobr> |  |
| [SCRIPT EXISTS]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SCRIPT FLUSH]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SCRIPT KILL]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |
| [SCRIPT LOAD]() | ✅ Standard
<nobr>✅ Active-Active</nobr> | ✅ Standard
<nobr>✅ Active-Active</nobr> |  |