一尘不染

多个Redis数据库有什么意义?

redis

我想将存储在 redis 中的数据分段到单独的数据库中,因为我有时需要对一种特定类型的数据使用 keys 命令,并希望将其分开以使其更快.

如果我分割成多个数据库,一切仍然是单线程的,我仍然只能使用一个核心。如果我只是在同一个盒子上启动另一个 Redis 实例,我就可以使用一个额外的核心。最重要的是,我无法命名 Redis 数据库,也无法为它们提供任何更符合逻辑的标识符。那么,综上所述,为什么/何时我会想要使用多个 Redis 数据库,而不是仅仅为我想要的每个额外数据库启动一个额外的 Redis 实例?与此相关的是,为什么 Redis 不尝试为我添加的每个额外数据库使用一个额外的核心?跨数据库单线程的优势是什么?


阅读 273

收藏
2021-12-29

共2个答案

一尘不染

原则上,同一实例上的 Redis 数据库与 RDBMS 数据库实例中的模式没有区别。

那么,综上所述,为什么/何时我会想要使用多个 Redis 数据库,而不是仅仅为我想要的每个额外数据库启动一个额外的 Redis 实例?

在同一个 redis 实例中使用 redis 数据库有一个明显的优势,那就是管理。如果您为每个应用程序启动一个单独的实例,假设您有 3 个应用程序,那就是 3 个单独的 redis 实例,每个实例在生产中可能需要一个从属用于 HA,因此总共有 6 个实例。从管理的角度来看,这会很快变得混乱,因为您需要监控所有这些,进行升级/补丁等。如果满足您的 SLA,则更易于管理。

2021-12-29
一尘不染

原则上,同一实例上的 Redis 数据库与 RDBMS 数据库实例中的模式没有区别。

那么,综上所述,为什么/何时我会想要使用多个 Redis 数据库,而不是仅仅为我想要的每个额外数据库启动一个额外的 Redis 实例?

在同一个 redis 实例中使用 redis 数据库有一个明显的优势,那就是管理。如果您为每个应用程序启动一个单独的实例,假设您有 3 个应用程序,那就是 3 个单独的 redis 实例,每个实例在生产中可能需要一个从属用于 HA,因此总共有 6 个实例。从管理的角度来看,这会很快变得混乱,因为您需要监控所有这些,进行升级/补丁等。如果满足您的 SLA,则更易于管理。

2021-12-29