Redis select 命令

SELECT index

切换到指定的Redis逻辑数据库,index是从0开始的整数。新连接总是使用数据库0。

Redis 可选择的数据库是一种逻辑命名空间格式:物理上所有的数据库还是持久化在一起,在同一个RDB/AOF文件中。不同的数据库中可以有同名的key, FLUSHDBSWAPDB 或 RANDOMKEY 这些命令都是针对选定的数据库有效。

从实际应用角度出发,Redis databases 主要用来表示不同的key属于同一个应用,而不是一个Redis实例对应多个不同的应用。

Reids分片(Cluster)不能使用SELECT 。因为Redis分片只支持数据库0。Redis分片的情况下,有多个数据库是没有用的。

当前选定的数据库是连接的一个属性,客户端应该记录当前连接的数据库并在重连的时候重新选择对应的数据库。

没有查询当前连接选择的数据库的命令,可以使用 CLIENT LIST 输出所有用户当前选择的数据库。

返回值

总是返回 OK 。

例子

redis 127.0.0.1:6379> SET db_number 0         # 默认使用 0 号数据库
OK

redis 127.0.0.1:6379> SELECT 1                # 使用 1 号数据库
OK

redis 127.0.0.1:6379[1]> GET db_number        # 已经切换到 1 号数据库,注意 Redis 现在的命令提示符多了个 [1]
(nil)

redis 127.0.0.1:6379[1]> SET db_number 1
OK

redis 127.0.0.1:6379[1]> GET db_number
"1"

redis 127.0.0.1:6379[1]> SELECT 3             # 再切换到 3 号数据库
OK

redis 127.0.0.1:6379[3]>                      # 提示符从 [1] 改变成了 [3]