Redis 多数据库

 
更多

熟悉关系型数据库的同学都知道关系数据库有数据库、表的概念,正如我们的mysql,需要先创建数据库,然后创建表,那么redis有没有数据库呢?

答案当然是有的。

多数据库配置

留意redis配置文件( /etc/redis/6379.conf )的同学可能看到里边有这么一个配置:

# Set the number of databases. The default database is DB 0, you can select
# a different one on a per-connection basis using SELECT <dbid> where
# dbid is a number between 0 and 'databases'-1
databases 16

databases 是的,就是它!

意思就是说,设置redis的数据库数量,默认使用0号库,可以 使用 SELECT <dbid> 切换数据库,默认有 16 个数据库,即 0~15 号库。

Redis下,数据库是由一个整数索引标识,而不是由一个数据库名称。

每个数据库都有属于自己的空间,不必担心之间的key冲突。

flushdb命令清除数据,只会清除当前的数据库下的数据,不会影响到其他数据库。

切换数据库

Select 命令用于切换到指定的数据库,数据库索引号 index 用数字值指定,以 0 作为起始索引值。

# redis-cli                
127.0.0.1:6379> AUTH 123456
OK
127.0.0.1:6379> SET name zhangsan   # 默认使用0号库
OK
127.0.0.1:6379> GET name
"zhangsan"
127.0.0.1:6379> SELECT 1            # 切换至1号库
OK
127.0.0.1:6379[1]> GET name         # 注意前面的[1]就表示当前是1号库,每个数据库互相独立,0号库设置的name,在1号库是不存在的。
(nil)
127.0.0.1:6379[1]> SET name lisi
OK
127.0.0.1:6379[1]> GET name
"lisi"

FLUSHDB,清除当前库的数据

127.0.0.1:6379[1]> FLUSHDB
OK
127.0.0.1:6379[1]> keys *
(empty list or set)
127.0.0.1:6379[1]> SELECT 0
OK
127.0.0.1:6379> keys *
1) "name"

FLUSHDB是清除当前数据库的所有数据库。

FLUSHALL命令会清除这个实例的数据,小心使用哦!

打赏

本文固定链接: https://www.cxy163.net/archives/2591 | 绝缘体

该日志由 绝缘体.. 于 2024年10月27日 发表在 未分类 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: Redis 多数据库 | 绝缘体
关键字: , , , ,

Redis 多数据库:等您坐沙发呢!

发表评论


快捷键:Ctrl+Enter