SELECT index

Redis SELECT 命令用于切换到指定的数据库,index 是从 0 开始的整数。默认使用数据库 0 。

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

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

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

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

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

*语法

Redis SELECT 命令基本语法如下:

redis 127.0.0.1:6379> SELECT index 

*返回值

字符串:总是返回 OK 。

*例子

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

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

redis 127.0.0.1:6379[1]> GET db_number
"1"
# 再切换到 3 号数据库
redis 127.0.0.1:6379[1]> SELECT 3             
OK
# 提示符从 [1] 改变成了 [3]
redis 127.0.0.1:6379[3]>