Back to Redis

RENAME

content/commands/rename.md

latest1.9 KB
Original Source

{{< note >}} This command's behavior varies in clustered Redis environments. See the [multi-key operations]({{< relref "/develop/using-commands/multi-key-operations" >}}) page for more information. {{< /note >}}

Renames key to newkey. It returns an error when key does not exist. If newkey already exists it is overwritten, when this happens RENAME executes an implicit [DEL]({{< relref "/commands/del" >}}) operation, so if the deleted key contains a very big value it may cause high latency even if RENAME itself is usually a constant-time operation.

In Cluster mode, both key and newkey must be in the same hash slot, meaning that in practice only keys that have the same hash tag can be reliably renamed in cluster.

Examples

{{% redis-cli %}} SET mykey "Hello" RENAME mykey myotherkey GET myotherkey {{% /redis-cli %}}

Behavior change history

  • >= 3.2.0: The command no longer returns an error when source and destination names are the same.

Redis Software and Redis Cloud compatibility

| Redis Software | Redis Cloud | <span style="min-width: 9em; display: table-cell">Notes</span> | |:----------------------|:-----------------|:------| | <span title="Supported">✅ Standard</span> <span title="Supported"><nobr>✅ Active-Active*</nobr></span> | <span title="Supported">✅ Standard</span> <span title="Supported"><nobr>✅ Active-Active*</nobr></span> | 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. |

Return information

{{< multitabs id="rename-return-info" tab1="RESP2" tab2="RESP3" >}}

Simple string reply: OK.

-tab-sep-

Simple string reply: OK.

{{< /multitabs >}}