Redis的数据库概念是什么

这篇文章主要介绍“redis的数据库概念是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Redis的数据库概念是什么”文章能帮助大家解决问题。

成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、网站建设、观山湖网络推广、微信小程序、观山湖网络营销、观山湖企业策划、观山湖品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供观山湖建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com

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

Redis的数据库概念是什么

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

Redis的数据库概念是什么

客户端与Redis建立连接后会默认选择0号数据库,不过可以随时使用SELECT命令更换数据库。
在实际项目中则可以通过以Redis配置文件的形式指定数据库,如下图所示

Redis的数据库概念是什么

二、正确理解Redis的“数据库”概念
由于Redis不支持自定义数据库的名字,所以每个数据库都以编号命名。  开发者则需要自己记录存储的数据与数据库的对应关系。  另外Redis也不支持为每个数据库设置不同的访问密码,所以一个客户端要么可以访问全部数据库,要么全部数据库都没有权限访问。  但是,要正确地理解Redis的“数据库”概念这里不得不提到一个命令:

Redis的数据库概念是什么

该命令可以清空实例下的所有数据库数据,这与我们所熟知的关系型数据库所不同。  关系型数据库多个库常用于存储不同应用程序的数据 ,且没有方式可以同时清空实例下的所有库数据。  所以对于Redis来说这些db更像是一种命名空间,且不适宜存储不同应用程序的数据。  比如可以使用0号数据库存储某个应用生产环境中的数据,使用1号数据库存储测试环境中的数据,但不适宜使用0号数据库存储A应用的数据而使用1号数据库B应用的数据,不同的应用应该使用不同的Redis实例存储数据。  Redis非常轻量级,一个空Redis实例占用的内在只有1M左右,所以不用担心多个Redis实例会额外占用很多内存。
三、集群情况下是否支持一个实例多个db?
要注意以上所说的都是基于单体Redis的情况。  而在集群的情况下不支持使用select命令来切换db,因为Redis集群模式下只有一个db0。  再扩展一些集群与单机Reids的区别,感兴趣的朋友可以去查阅相关的资料深入理解,这里就不做讨论了。
  • key批量操作支持有限: 例如mget、mset必须在一个slot
  • Key事务和Lua支持有限: 操作的key必须在一个节点
  • key是数据分区的最小粒度: 不支持bigkey分区
  • 不支持多个数据库: 集群模式下只有一个db0
  • 复制只支持一层: 不支持树形复制结构

关于“Redis的数据库概念是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注创新互联行业资讯频道,小编每天都会为大家更新不同的知识点。


网站栏目:Redis的数据库概念是什么
URL标题:http://ybzwz.com/article/gpeece.html