你好,欢迎进入江苏优软数字科技有限公司官网!

诚信、勤奋、创新、卓越

友好定价、专业客服支持、正版软件一站式服务提供

13262879759

工作日:9:00-22:00

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

发布时间:2023-06-05

浏览次数:0

intellij idea 数据库关系图_intellij idea 怎么使用_intellij idea无法删除文件

1. 16个数据库的历史

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

intellij idea 数据库关系图_intellij idea 怎么使用_intellij idea无法删除文件

以MySQL实例为例

Redis 默认支持 16 个数据库。 您可以通过调整 Redis 配置文件 redis/redis.conf 来更改此值。 设置完成后重启Redis即可完成配置。

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

intellij idea 怎么使用_intellij idea无法删除文件_intellij idea 数据库关系图

在实际项目中,可以通过Redis配置文件的方式来指定数据库,如右图

intellij idea 数据库关系图_intellij idea 怎么使用_intellij idea无法删除文件

2、正确理解Redis的“数据库”概念

intellij idea 数据库关系图_intellij idea无法删除文件_intellij idea 怎么使用

因为 Redis 不支持自定义数据库名称,所以每个数据库都是用一个数字来命名的。 开发者需要记录存储的数据与数据库的对应关系。 此外,Redis 不支持为每个数据库设置不同的访问密码,因此一个客户端要么可以访问所有数据库,要么不能访问所有数据库。 而且,要正确理解Redis的“数据库”概念,这里不得不提一个命令:

intellij idea 数据库关系图_intellij idea无法删除文件_intellij idea 怎么使用

该命令可以清除实例下的所有数据库数据intellij idea 数据库关系图,不同于我们熟悉的关系型数据库。 关系型数据库的多个库往往用于存储不同应用的数据,没有办法同时清除一个实例下的所有库数据。 所以对于Redis来说,这种db更像是一个命名空间intellij idea 数据库关系图,并不适合存放不同应用的数据。 比如你可以在一个应用的生产环境中使用0号数据库存储数据,在测试环境中使用1号数据库存储数据,但是在应用A中不宜使用0号数据库存储数据,1号数据库存储数据应用程序B中的数据。应用程序应该使用不同的Redis实例来存储数据。 Redis 非常轻量级。 一个空的Redis实例只占用1M左右,不用怕多个Redis实例会额外占用大量显存。

3.集群支持一个实例多个DB吗?

intellij idea 怎么使用_intellij idea 数据库关系图_intellij idea无法删除文件

需要说明的是,以上是基于单台Redis的情况。 在集群的情况下,不支持使用命令切换db,因为Redis集群模式下只有一个db0。 下面我们来展开一些集群和单机 Reids 的区别。 有兴趣的同学可以参考相关资料深入了解,这里不展开讨论。

intellij idea 数据库关系图_intellij idea 怎么使用_intellij idea无法删除文件

四。 概括

Redis 实例默认构建 16 个数据库。 因为不支持数据库独立命名,所以以dbX方式命名。 可以通过更改配置文件的值来设置默认的数据库数量。 db的正确理解应该是“命名空间”。 多个应用不应该使用同一个Redis库,一个应用应该对应一个Redis实例。 可以使用不同的数据库来存储不同环境中的数据。 最后需要注意的是Redis集群下只有db0,不支持多个db。

2020 年 1 月 9 日

近期热门阅读:

1、

2、

3.

4.

5.

6.

7.

8,

9、

10.

如有侵权请联系删除!

13262879759

微信二维码