嗨客网搜索
Redis-cli命令
Redis MOVE命令

Redis Move命令教程

Redis Move 命令用于将当前 Redis 数据库的 KEY 移动到给定的数据库 db 当中。

如果当前数据库(源数据库)和给定数据库(目标数据库)有相同名字的给定 KEY ,或者 KEY 不存在于当前数据库,那么 MOVE 没有任何效果。

Redis Move命令详解

语法

192.168.98.70:6379> MOVE KEY DB

参数

参数 描述
KEY 要移动的键。
DB 移动到哪个数据库,比如 0,1,2 等。

返回值

移动成功返回 1,失败则返回 0。

时间复杂度

O(1)

可用版本

>= 1.0.0

案例

目标库不存在KEY

源库存在 KEY,目标库不存在 KEY , 此时使用 MOVE 指令,可以将 KEY 正确的从源库移动到目标库

# 目标库不存在 KEY 192.168.98.70:6379> SELECT 0 OK 192.168.98.70:6379> SET haicoder.net Redis OK 192.168.98.70:6379> MOVE haicoder.net 1 (integer) 1 192.168.98.70:6379> EXISTS haicoder.net (integer) 0 192.168.98.70:6379> SELECT 1 OK 192.168.98.70:6379[1]> EXISTS haicoder.net (integer) 1 192.168.98.70:6379[1]> GET haicoder.net "Redis" 192.168.98.70:6379[1]> DEL haicoder.net (integer) 1

首先,我们使用 SELECT 命令切换数据库。接着,设置 KEY 为 haicoder.net 的 string 类型的变量的值为 Redis 。并使用 MOVE 命令,将 KEY 为 haicoder.net 的值移到 1 号数据库。

接着,我们在在 6379 端口的实例上判断 KEY 是否存在。并使用 SELECT 命令切换到 1 号数据库,此时命令提示符变成了 192.168.98.70:6379[1]。

最后,我们使用 EXISTS 命令检查 1 号数据库上存在此 KEY。并使用 GET 命令获取 1 号数据库上的 KEY 对应的值,为之前在 0 号库上设置的值。

源库KEY不存在

源库不存在 KEY,目标库也不存在 KEY , 此时使用 MOVE 指令,将 KEY 从源库移动到目标库将不会产生任何作用

# 源库 KEY 不存在 192.168.98.70:6379[1]> SELECT 0 OK 192.168.98.70:6379> EXISTS haicoder.net (integer) 0 192.168.98.70:6379> MOVE haicoder.net 1 (integer) 0 192.168.98.70:6379> SELECT 1 OK 192.168.98.70:6379[1]> EXISTS haicoder.net (integer) 0

我们首先,使用 SELECT 命令,切换数据库为 0 号数据库。接着,使用 EXISTS 命令检查 0 号数据库上不存在此 KEY。

我们使用,使用 MOVE 命令,将不存在的 KEY 为 haicoder.net 的值移到 1 号数据库。此时,再次使用 SELECT 命令,切换数据库为 1 号数据库。

最后,使用 EXISTS 命令检查 1 号数据库上还是不存在此 KEY。

目标库存在KEY

源库存在 KEY,目标库也存在 KEY , 此时使用 MOVE 指令将 KEY 从源库移动到目标库,不能生效,源库 KEY 还存在,目标库 KEY 也存在,且源库的值还是原来的值,目标库的值也还是原来的值

# 目标库存在重名 KEY 192.168.98.70:6379> SELECT 1 OK 192.168.98.70:6379[1]> SET haicoder.net Mongo OK 192.168.98.70:6379[1]> SELECT 0 OK 192.168.98.70:6379> SET haicoder.net Redis OK 192.168.98.70:6379> MOVE haicoder.net 1 (integer) 0 192.168.98.70:6379> GET haicoder.net "Redis" 192.168.98.70:6379> SELECT 1 OK 192.168.98.70:6379[1]> GET haicoder.net "Mongo"

我们首先,使用 SELECT 命令将数据库切换为 1 号数据库。接着,设置 KEY 为 haicoder.net 的 string 类型的变量的值为 Mongo 。

我们使用 SELECT 命令将数据库切换为 0 号数据库。再次,设置 KEY 为 haicoder.net 的 string 类型的变量的值为 Redis 。

我们使用 MOVE 命令,将 KEY 为 haicoder.net 的值移到 1 号数据库。并使用 GET 命令获取 0 号数据库上的 KEY 对应的值,为 Redis。

最后,我们使用 SELECT 命令将数据库切换为 1 号数据库。并使用 GET 命令获取 1 号数据库上的 KEY 对应的值,为 Mongo。

Redis Move命令总结

Redis Move 命令用于将当前 Redis 数据库的 KEY 移动到给定的数据库 db 当中。Redis Move 命令语法:

192.168.98.70:6379> MOVE KEY DB
嗨客网顶部