SWAPDB 命令执行完毕之后,原本储存在数据库 x 中的键值对将出现在数据库 y 中,而原本储存在数据库 y 中的键值对将出现在数据库 x 中。

    举个例子,对于以下这个包含键 、 k2k3 的 0 号数据库:

    1. db0> KEYS *
    2. 1) "k3"
    3. 3) "k1"

    如果我们执行以下命令,对 0 号数据库和 1 号数据库实行互换:

    1. db0> SWAPDB 0 1
    2. OK

    那么在此之后,原本储存在 0 号数据库中的键 k1 、 和 k3 将出现在 1 号数据库中:

    1. 1) "k5"
    2. 2) "k4"
    3. 3) "k6"

    注解

    因为互换数据库这一操作可以通过调整指向数据库的指针来实现,这个过程不需要移动数据库中的任何键值对,所以 SWAPDB 命令的复杂度是 O(1) 而不是 O(N) ,并且执行这个命令也不会导致服务器阻塞。