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

诚信、勤奋、创新、卓越

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

13262879759

工作日:9:00-22:00

看完后,我才明白 Redis 为什么默认 16 个数据库?

发布时间:2023-11-22

浏览次数:0

关系库中的数据表的关系_数据库中关系图怎么出来_intellij idea 数据库关系图

一、16个数据库的由来

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

数据库中关系图怎么出来_关系库中的数据表的关系_intellij idea 数据库关系图

以MySQL实例为例

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

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

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

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

数据库中关系图怎么出来_intellij idea 数据库关系图_关系库中的数据表的关系

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

intellij idea 数据库关系图_数据库中关系图怎么出来_关系库中的数据表的关系

由于Redis不支持自定义数据库名称,因此每个数据库都以数字命名。 开发者需要自己记录存储的数据与数据库的对应关系。 另外,Redis不支持为每个数据库设置不同的访问密码intellij idea 数据库关系图,因此一个客户端要么可以访问所有数据库,要么所有数据库都没有权限访问。 不过,要正确理解Redis的“数据库”概念,这里必须提到一个命令:

# 清空一个Redis实例中所有数据库中的数据
redis 127.0.0.1:6379> FLUSHALL

该命令可以清除实例下的所有数据库数据,这与我们熟悉的关系数据库不同。 关系数据库往往会使用多个库来存储不同应用的数据,没有办法同时清除实例下的所有库数据。 所以对于Redis来说,这些db更像是,不适合存储来自不同应用程序的数据。 例如,您可以使用0号数据库存储应用程序生产环境的数据,使用1号数据库存储测试环境的数据。 但是,使用0号数据库存储应用程序A的数据和使用1号数据库存储应用程序B的数据是不合适的,是不同的。 应用程序应该使用不同的Redis实例来存储数据。 Redis 非常轻量级。 一个空的Redis实例仅占用1M左右,因此无需担心多个Redis实例占用大量额外内存。

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

数据库中关系图怎么出来_intellij idea 数据库关系图_关系库中的数据表的关系

需要说明的是,以上都是基于单个Redis。 在集群情况下,不支持使用命令切换db,因为Redis集群模式下只有一个db0。 展开一下集群和单机Reids的区别,有兴趣的朋友可以查看相关资料进行更深入的了解,这里就不讨论了。

关系库中的数据表的关系_数据库中关系图怎么出来_intellij idea 数据库关系图

4. 总结

Redis实例默认创建16个db。 由于不支持独立的数据库命名,所以以dbX命名。 可以通过修改配置文件的值来设置默认的数据库数量。 db的正确理解应该是“命名空间”。 多个应用程序不应该使用同一个Redis不同的库,但一个应用程序应该对应一个Redis实例。 不同环境下可以使用不同的数据库来存储数据。 最后请注意,Redis集群中只有db0intellij idea 数据库关系图,不支持多个db。

END好文章推荐

如有侵权请联系删除!

13262879759

微信二维码