MOVE 命令将当前数据库的 key 移动到指定的数据库 db 当中。
命令格式
MOVE key db
可用版本:>=1.0.0
时间复杂度:O(1)
如果当前数据库和指定数据库有相同名字的指定 key,或者 key 不存在于当前数据库中时,MOVE 命令没有任何效果。因此,也可以利用这一特性,将 MOVE 命令当作锁原语。
命令返回值
MOVE 命令返回有2种情况:
- 返回1,当移动成功时。
- 返回0,当移动失败时。
示例
redis> SET mykey test
OK
redis> MOVE mykey 1 # 移动成功,返回1
(integer) 1
redis> MOVE mykey_nokey 1 # 移动不存在的key,返回0
(integer) 0
redis> MOVE mykey 1 # 该key之前移动成功(相当于key不存在了),返回0
(integer) 0
redis> SELECT 1
OK
redis[1]> GET mykey
"test"
redis[1]> SELECT 0
OK
redis> GET mykey
(nil)