Redis 多数据库

小天天天天    数据库    999+ 次    2018-01-10 10:02:55


熟悉关系型数据库的同学都知道关系数据库有数据库、表的概念,正如我们的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命令会清除这个实例的数据,小心使用哦!


如果你觉得本篇文章对您有帮助,请打赏作者

上一篇: selenium之 定位以及切换frame(iframe)

下一篇: 使用redis-cli连接Redis服务器

最新评论

暂无评论

热门文章

最新评论

网站数据

网站文章数:483

今日UV/PV/IP:15/15/15

昨日UV/PV/IP:19/22 /19

TOP