93.7%的程序员!竟然都不知道Redis为什么默认16个数据库

网友投稿 714 2023-05-25

93.7%的程序员!竟然都不知道Redis为什么默认16个数据库?

93.7%的程序员!竟然都不知道Redis为什么默认16个数据库?

背景

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

16个数据库的由来

redis是一个字典结构的存储服务器,一个redis实例提供了多个用来存储数据的字典,客户端可以指定将数据存储在哪个字典中。这与在一个关系数据库实例中可以创建多个数据库类似,所有可以将其中的每个字典都理解成一个独立的数据库。redis默认支持16个数据库,可以通过调整redis的配置文件redis/redis.conf中的databases来修改这一个值,设置完毕后重启redis便完成配置。

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

# 切换数据库操作:切换到1  127.0.0.1:6379> SELECT 1  OK  127.0.0.1:6379[1]>  127.0.0.1:6379[1]>  # 切换到0  127.0.0.1:6379[1]> SELECT 0  OK  127.0.0.1:6379>  # 从1号库中获取username  127.0.0.1:6379[1]> get username 。

在实际项目中则可以通过以redis配置文件的形式指定数据库。

集群情况下是否支持一个实例多个db?

以上所说的都是基于单体redis的情况。而在集群的情况下不支持使用select命令来切换db,因为redis集群模式下只有一个db0。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:MySQL 行锁超时排查方法优化
下一篇:阿里面试这样问:Redis为什么把简单的字符串设计成SDS?
相关文章