Redis的命令登录和database切换操作
cmd本地登录: 配置文件:requirepass 123456
127.0.0.1:6379> auth 123456
OK
登录 在 redis-cli 后面加上 --raw
redis-cli --raw
D:\software\redis>redis-cli --raw
127.0.0.1:6379> select 1
NOAUTH Authentication required.
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> keys *
settest
11111
00000
ztest
test
127.0.0.1:6379[1]> get 00000
jlkjlkafkajfa
redis的database
Redis默认提供了16个数据库(database),每个数据库有一个id,从0到15,他们没有名字,只有id,不支持自定义数据库的名字。
不同的数据库中数据隔离保存(并不是完全隔离的,比如FLUSHALL命令可以清空一个Redis实例中所有数据库中的数据)。
配置文件中修改数据库个数,启动时提供32个数据库:
databases 32
用select id命令可以切换当前数据:
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> SELECT 1
OK
127.0.0.1:6379[1]> keys *
1) "00000"
127.0.0.1:6379[1]>
FLUSHALL命令会清空所有数据库中的数据库,不只是当前数据库。
spring-boot可以在配置文件中设置默认登录的数据库,这样默认登录的数据库就是5:
spring.redis.database=5
注意:Redis支持多个数据库,并且每个数据库的数据是隔离的不能共享,并且基于单机才有,如果是集群就没有数据库的概念。
综上所述,这些数据库更像是一种命名空间,而不适宜存储不同应用程序的数据。比如可以使用0号数据库存储某个应用生产环境中的数据,使用1号数据库存储测试环境中的数据,但不适宜使用0号数据库存储A应用的数据而使用1号数据库B应用的数据,不同的应用应该使用不同的Redis实例存储数据。Redis非常轻量级,一个空Redis实例占用的内在只有1M左右,所以不用担心多个Redis实例会额外占用很多内存。