加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

Redis为什么默认16个数据库?

发布时间:2019-10-30 01:48:58 所属栏目:编程 来源:聚IT
导读:在现实项目中Redis常被应用于做缓存,漫衍式锁、动静行列等。可是在搭建设置好Redis处事器后许多伴侣应该会发明和有这样的疑问,为什么Redis默认成立了16个数据库,如下图所示。 一、16个数据库的由来 Redis是一个字典布局的存储处事器,一个Redis实例提供

在现实项目中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呼吁改换数据库。

  1. # 切库 
  2. redis> SELECT 1 # 默认0号db,切换为1号db 
  3. OK 
  4. redis [1] > GET username # 从1号库中获取 username  
  5. (nil) 

在现实项目中则可以通过以Redis设置文件的情势指定命据库,如下图所示

Redis为什么默认16个数据库?

二、正确领略Redis的“数据库”观念

Redis为什么默认16个数据库?

因为Redis不支持自界说数据库的名字,以是每个数据库都以编号定名。开拓者则必要本身记录存储的数据与数据库的对应相关。其它Redis也不支持为每个数据库配置差异的会见暗码,以是一个客户端要么可以会见所稀有据库,要么所稀有据库都没有权限会见。可是,要正确地领略Redis的“数据库”观念这里不得不提到一个呼吁:

  1. # 清空一个Redis实例中全部数据库中的数据 
  2. redis 127.0.0.1:6379> FLUSHALL 

该呼吁可以清空实例下的全部数据库数据,这与我们所熟知的相关型数据库所差异。相关型数据库多个库常用于存储差异应用措施的数据 ,且没有方法可以同时清空实例下的全部库数据。以是对付Redis来嗣魅这些db更像是一种定名空间,且不相宜存储差异应用措施的数据。好比可以行使0号数据库存储某个应用出产情形中的数据,行使1号数据库存储测试情形中的数据,但不相宜行使0号数据库存储A应用的数据而行使1号数据库B应用的数据,差异的应用应该行使差异的Redis实例存储数据。Redis很是轻量级,一个空Redis实例占用的内涵只有1M阁下,以是不消担忧多个Redis实例会特殊占用许多内存。

三、集群环境下是否支持一个实例多个db?

Redis为什么默认16个数据库?

要留意以上所说的都是基于单体Redis的环境。而在集群的环境下不支持行使select呼吁劳迫椿db,由于Redis集群模式下只有一个db0。再扩展一些集群与单机Reids的区别,感乐趣的伴侣可以去查阅相干的资料深入领略,这里就不做接头了。

  • key批量操纵支持有限:譬喻mget、mset必需在一个slot
  • Key事宜和Lua支持有限:操纵的key必需在一个节点
  • key是数据分区的最小粒度:不支持bigkey分区
  • 不支持多个数据库:集群模式下只有一个db0
  • 复制只支持一层:不支持树形复制布局

Redis为什么默认16个数据库?

四、总结

Redis实例默认成立了16个db,因为不支持自主举办数据库定名以是以dbX的方法定名。默认数据库数目可以修改设置文件的database值来设定。对付db正确的领略应为“定名空间”,多个应用措施不该行使统一个Redis差异库,而应一个应用措施对应一个Redis实例,差异的数据库可用于存储差异情形的数据。最后要留意,Redis集群下只有db0,不支持多db。

【编辑保举】

  1. 公司怎样选择数据库?DynamoDB、Hadoop和MongoDB 大比拼
  2. 华为云数据库助力锦江国都开释数据代价,驱动营业厘革
  3. MySQL尝试之差异字符集数据库迁徙步调演示
  4. 详解Oracle数据库漫衍式事宜ORA-01591错误办理要领
  5. 万亿级日会见量下,Redis在微博的9年优化过程
【责任编辑:赵宁宁 TEL:(010)68476606】
点赞 0

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读