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

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

[[383075]]

 本文转载自微信公众号「UP技术控」,作者conan5566。转载本文请联系UP技术控公众号。  

背景

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

16个数据库的由来

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

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

  1. # 切换数据库操作:切换到1 
  2.  
  3. 127.0.0.1:6379> SELECT 1 
  4.  
  5. OK 
  6.  
  7. 127.0.0.1:6379[1]> 
  8.  
  9. 127.0.0.1:6379[1]> 
  10.  
  11. # 切换到0 
  12.  
  13. 127.0.0.1:6379[1]> SELECT 0 
  14.  
  15. OK 
  16.  
  17. 127.0.0.1:6379> 
  18.  
  19. # 从1号库中获取username 
  20.  
  21. 127.0.0.1:6379[1]> get username 。 

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

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

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

 

责任编辑:武晓燕 来源: UP技术控
相关推荐

2019-10-29 05:00:11

Redis数据库集群

2021-03-01 19:13:45

YAML程序员数据

2019-07-12 15:28:41

缓存数据库浏览器

2018-05-08 15:30:46

程序员代码框架

2021-02-08 22:32:43

程序员 静态网页

2018-09-20 17:05:01

前端程序员JavaScript

2023-01-13 16:48:48

前端开发JavaScript

2022-10-29 17:34:18

JVMJava

2020-12-21 09:00:04

MySQL缓存SQL

2012-08-14 10:15:46

程序员

2011-08-23 13:50:17

程序员

2022-08-08 11:13:35

API接口前端

2018-05-25 13:00:27

2020-12-21 09:44:53

MySQL查询缓存数据库

2021-11-12 10:05:19

跳表BAT面试

2024-07-26 00:00:02

2013-11-21 13:35:19

程序员牛人

2019-10-28 10:29:49

Redis数据库分布式锁

2013-12-02 10:10:35

Python工具库

2021-06-27 21:37:27

缓存雪崩穿透
点赞
收藏

51CTO技术栈公众号