In Redis, the RENAME command renames a key. It allows us to give a key a new name.
Syntax
The syntax goes like this:
RENAME key newkey
Where key is the old key name and newkey is the new one.
Example
Here’s an example to demonstrate:
RENAME colour color
Result:
OK
In this case I renamed a key called colour to color.
Let’s check its value:
GET color
Result:
"Red"
If we use the KEYS command to check whether the original key exists, we can see that it doesn’t:
KEYS colour
Result:
(empty array)
When the New Key Already Exists
If the new key already exists, it is overwritten. More specifically, Redis performs an implicit DEL operation (which could impact performance if the key’s value is large).
Here’s an example of renaming a key to key that already exists:
RENAME named_color color
Result:
OK
Here, the new key is the same one I used in the previous example, but the old key is a different one.
Now when I get the value of the color key, it contains a different value:
GET color
Result:
"Green"
In the previous example, this key had a value of Red, but now it has a value of Green. That’s because the named_color key had a value of Green.
When the Old Key Doesn’t Exist
If we try to rename a key that doesn’t exist, an error is returned:
RENAME nonexistentkey newkey
Result:
(error) ERR no such key
Also see the Redis RENAMENX command, which only renames the key if the new one doesn’t already exist.