SELECT:切换至指定的数据库
一个 Redis 服务器可以包含多个数据库。在默认情况下,Redis 服务器在启动时将会创建 16 个数据库:这些数据库都使用号码进行标识,其中第一个数据库为 0 号数据库,第二个数据库为 1 号数据库,而第三个数据库则为 2 号数据库,以此类推。
Redis 虽然不允许在同一个数据库里面使用两个同名的键,但是由于不同数据库拥有不同的命名空间,因此在不同数据库里面使用同名的键是完全没有问题的,而用户也可以通过使用不同数据库来储存不同的数据,以此来达到重用键名并且减少键冲突的目的。
比如说,如果我们将用户的个人信息和会话信息都存放在同一个数据库里面,那么为了区分这两种信息,程序就需要使用 user::<id>::profile
格式的键来储存用户信息,并使用 user::<id>::session
格式的键来储存用户会话;但如果我们将这两种信息分别储存在 0 号数据库和 1 号数据库里面,那么程序就可以在 0 号数据库中使用 user::<id>
格式的键来储存用户信息,并在 1 号数据库中继续使用 user::<id>
格式的键来储存用户会话。
当用户使用客户端与 Redis 服务器进行连接时,客户端一般默认都会使用 0 号数据库,但是通过使用 SELECT
命令,用户可以从当前正在使用的数据库切换到自己想要使用的数据库:
- SELECT db
SELECT
命令在切换成功之后将返回 OK
。
举个例子,当我们以默认方式启动 redis-cli
客户端时,redis-cli
将连接至服务器的 0 号数据库:
- $ redis-cli
- redis>
这时,如果我们想要从 0 号数据库切换至 3 号数据库,那么只需要执行以下命令即可:
- redis> SELECT 3
- OK
- redis[3]>
客户端提示符末尾的 [3]
表示客户端现在正在使用 3 号数据库。(redis-cli
在使用默认的 0 号数据库时不会打印出数据库号码。)
在此之后,我们就可以通过执行命令,对 3 号数据库进行设置了:
- redis[3]> SET msg "hello world" -- 在 3 号数据库创建一个 msg 键
- OK
- redis[3]> SET counter 10086 -- 在 3 号数据库创建一个 counter 键
- OK
其他信息
属性 | 值 |
---|---|
复杂度 | O(1) |
版本要求 | SELECT 命令从 Redis 1.0.0 版本开始可用。 |