1.7 Redis多数据库
1.7.1 Redis实例
一个redis进程就是一个redis实例,一台服务器可以同时有多个redis实例。
同一服务器的不同redis实例提供不同的服务端口对外提供服务,每个redis实例之间互相影响。每个redis实例都包括自己的数据库,数据库中可以存储自己的数据。
1.7.2 多数据库示例
一个Redis实例可以包括多个数据库,客户端可以指定连接某个redis实例的哪个数据库,就好比一个mysql中创建多个数据库,客户端连接时指定连接哪个数据库。
-
选择数据库
一个redis实例最多可提供16个数据库,下标从0到15,客户端默认连接第0号数据库,也可以通过select选择连接哪个数据库。select 数据库下标
redis不支持修改数据库的名称,只能通过select 0、select 1...选择数据库。

如果选择一个不存在数据库则会报错:

注:在1号库设置的键值对只能在1号库里查询到。

- 清空数据库的数据
-
flushdb
作用:仅清空当前所在数据库中的所有数据,不会影响其他库。flushdb
适用场景:只想清理当前库的数据,不影响其他库时使用,比 flushall 更安全。

-
flushall
作用:清空 Redis 所有数据库(0~15 号库)中的所有数据,包括键值对、哈希、列表等所有类型。flushall
注:这个命令是全局清空,执行后所有库的数据都会被删除,生产环境中务必谨慎操作。

-
异步清空选项(Redis 4.0+ 支持)
作用:默认情况下,flushall 和 flushdb 是同步执行的,会阻塞 Redis 直到清空完成。flushall async
flushdb async
优点:异步模式下,Redis 会在后台异步清理数据,不会阻塞正常请求,适合生产环境。