在 SWAPDB
命令执行完毕之后,原本储存在数据库 x
中的键值对将出现在数据库 y
中,而原本储存在数据库 y
中的键值对将出现在数据库 x
中。
举个例子,对于以下这个包含键 、 k2
和 k3
的 0 号数据库:
- db0> KEYS *
- 1) "k3"
- 3) "k1"
如果我们执行以下命令,对 0 号数据库和 1 号数据库实行互换:
- db0> SWAPDB 0 1
- OK
那么在此之后,原本储存在 0 号数据库中的键 k1
、 和 k3
将出现在 1 号数据库中:
- 1) "k5"
- 2) "k4"
- 3) "k6"
注解
因为互换数据库这一操作可以通过调整指向数据库的指针来实现,这个过程不需要移动数据库中的任何键值对,所以 SWAPDB
命令的复杂度是 O(1) 而不是 O(N) ,并且执行这个命令也不会导致服务器阻塞。