redis下,数据库是由一个整数索引标识,而不是由一个数据库名称。默认情况下,一个客户端连接到数据库0。
redis配置文件中下面的参数来控制数据库总数:
databases 16
[root@MyCentOS ~]# /opt/redis/bin/redis-cli -p 6379
127.0.0.1:6379> keys *
1) "list"
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> keys *
(empty list or set)
随后,所有的命令将使用数据库1,知道你明确的切换到另一个数据库下。
每个数据库都有属于自己的空间,不必担心之间的key冲突。
不同的数据库下,相同的key取到各自的值。
127.0.0.1:6379[1]> set list 'this is a list'
OK
127.0.0.1:6379[1]> get list
"this is a list"
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> get list
"1,2,3,4,5,6,7,8,9,10"
flushdb命令清除数据,只会清除当前的数据库下的数据,不会影响到其他数据库。
127.0.0.1:6379[1]> flushdb
OK
127.0.0.1:6379[1]> get list
(nil)
127.0.0.1:6379[1]> keys *
(empty list or set)
flushall命令会清除这个实例的数据。在执行这个命令前要格外小心。
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> set list 'this is a list'
OK
127.0.0.1:6379[1]> get list
"this is a list"
127.0.0.1:6379[1]> flushall
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 *
(empty list or set)
数据库的数量是可以配置的,默认情况下是16个。修改redis.conf下的databases指令:
databases 64