MOVE:将给定的键移动到另一个数据库

用户可以使用MOVE命令,将一个键从当前数据库移动至目标数据库:

MOVE key db

当MOVE命令成功将给定键从当前数据库移动至目标数据库时,命令返回1;如果给定键并不存在于当前数据库,或者目标数据库中存在与给定键同名的键,那么MOVE命令将不做动作,只返回0表示移动失败。

作为例子,以下代码展示了如何将0号数据库中的msg键移动到3号数据库:

redis> GET msg -- 位于0号数据库中的msg键
"This is a message from db 0."
redis> MOVE msg 3 -- 将msg键移动到3号数据库
(integer) 1
redis> SELECT 3 -- 切换至3号数据库
OK
redis[3]> GET msg -- 获取被移动的msg键
"This is a message from db 0."

不覆盖同名键

当目标数据库存在与给定键同名的键时,MOVE 命令将放弃执行移动操作。

举个例子,如果我们在0号数据库和5号数据库中分别设置 lucky_number 键:

redis> SET lucky_number 123456 -- 在0号数据库设置lucky_number键
OK
redis> SELECT 5 -- 切换至5号数据库
OK
redis[5]> SET lucky_number 777 -- 在5号数据库设置lucky_number键
OK

然后尝试将5号数据库的lucky_number键移动到0号数据库,那么这次移动操作将不会成功:

redis[5]> MOVE lucky_number 0
(integer) 0

其他信息

  • 复杂度:O(1)。

  • 版本要求:MOVE命令从Redis 1.0.0版本开始可用。