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 版本开始可用。 |