一连问了好几个大佬,竟然都不知道Redis为什么默认16个数据库?

Redis默认16个数据库的原因在于提供多个字典式的独立存储空间,类似于关系数据库的多个数据库。每个数据库以编号命名,不支持自定义命名,且在集群模式下仅支持db0。Redis的“数据库”更应理解为命名空间,不同应用应使用单独的Redis实例,而非不同数据库。此外,集群模式下不支持多数据库,只允许db0。
摘要由CSDN通过智能技术生成

 

在实际项目中Redis常被应用于做缓存,分布式锁、消息队列等。但是在搭建配置好Redis服务器后很多朋友应该会发现和有这样的疑问,为什么Redis默认建立了16个数据库,如下图所示。

一连问了好几个大佬,竟然都不知道Redis为什么默认16个数据库?

 

# 16个数据库的由来

Redis是一个字典结构的存储服务器,一个Redis实例提供了多个用来存储数据的字典,客户端可以指定将数据存储在哪个字典中。这与在一个关系数据库实例中可以创建多个数据库类似(如下图所示),所以可以将其中的每个字典都理解成一个独立的数据库。

一连问了好几个大佬,竟然都不知道Redis为什么默认16个数据库?

 

以MySQL实例为例

Redis默认支持16个数据库,可以通过调整Redis的配置文件redis/redis.conf中的databases来修改这一个值,设置完毕后重启Redis便完成配置。

一连问了好几个大佬,竟然都不知道Redis为什么默认16个数据库?

 

客户端与Redis建立连接后会默认选择0号数据库,不过可以随时使用SELECT命令更换数据库。

  •  
  •  
  •  
  •  
  •  
# 切库redis> SELECT 1 # 默认0号db,切换为1号dbOKredis [1] > GET username # 从1号库中获取 username (nil)
 

在实际项目中则可以通过以Redis配置文件的形式指定数据库,如下图所示

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值