当前位置: 首页 > 面试题库 >

多个Redis数据库的意义是什么?

郎吉星
2023-03-14
问题内容

因此,我来​​到了一个地方,我想将存储在Redis中的数据分割到单独的数据库中,因为有时我需要对一种特定类型的数据使用keys命令,并希望将其分离以使其更快。

如果我细分为多个数据库,那么所有内容仍然都是单线程的,而且我仍然只能使用一个内核。如果我只是在同一盒子上启动另一个Redis实例,那么我将使用一个额外的内核。最重要的是,我无法命名Redis数据库,也无法给它们提供任何更逻辑的标识符。因此,话虽这么说,我为什么/何时要使用多个Redis数据库,而不是仅仅为我想要的每个额外数据库分配一个Redis额外实例?与此相关的是,Redis为什么不尝试为我添加的每个额外数据库利用额外的内核?跨数据库单线程的优势是什么?


问题答案:

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

因此,话虽这么说,我为什么/何时要使用多个Redis数据库,而不是仅仅为我想要的每个额外数据库分配一个Redis额外实例?

在同一redis实例中使用redis数据库有一个明显的优势,那就是管理。如果您为每个应用程序启动一个单独的实例,并且假设您有3个应用程序,那么这就是3个独立的Redis实例,每个实例在生产中可能都需要一个HA的从属,因此总共有6个实例。从管理的角度来看,这很快就会变得混乱,因为您需要监视所有这些,进行升级/修补等。如果您不打算通过高I
/ O重载Redis,那么具有从属的单个实例会更简单,并且只要满足您的SLA,就更易于管理。



 类似资料:
  • 如果我分割成多个数据库,所有的东西仍然是单线程的,而且我仍然只能使用一个核心。如果我只是在同一个盒子上启动另一个Redis实例,我将使用一个额外的核心。最重要的是,我不能给Redis数据库命名,也不能给它们任何更符合逻辑的标识符。那么,说完所有这些,为什么/什么时候我会想要使用多个Redis数据库,而不是仅仅为我想要的每个额外数据库构建一个额外的Redis实例呢?与此相关的是,为什么Redis不尝

  • 我对redis是新的,所以我不知道更多关于它复杂的技术细节。但是让我把我的场景放在这里:我在同一个服务器上运行两个网站,我希望redis在这两个网站上工作。在搜索中,我发现可以通过如下所示为同一服务器实例上的不同数据库分配不同的索引来做到这一点: 这对我来说是理想的,因为我可以在同一个实例中缓存我的两个数据库。但后来我碰到了多个Redis数据库有什么意义?如何在redis数据库之间进行转换?链接上

  • 问题内容: 我目前有一个使用filebeat作为日志发送程序的体系结构,该结构将日志发送到日志存储索引器实例,然后发送到AWS中的托管elasticsearch。由于存在持续的TCP连接,因此我无法使用AWS ELB多个日志存储索引器实例进行负载平衡,因为文件信号始终会选择这些实例并将其发送到那里。所以我决定使用redis。现在,看到扩展redis并使之在ELK堆栈中具有高可用性组件是多么困难,我

  • 我试图更多地熟悉Redis,我发现Redis6的发行说明如下: Redis6进入了一个新时代:虽然它保留了一个核心的单线程数据访问接口,但I/O现在是线程化的。 保留“核心单线程数据访问接口”是否意味着所有数据访问命令(如GET、SET),无论redis实例中的哪个数据库,都必须通过这个接口(而不是使用多个redis实例时的多个数据访问接口)? 谢了!

  • 问题内容: 我有一个Redis实例,其中有两个数据库。现在,我想设置第二个实例并复制第一个实例,但是第二个实例应该仅具有一个数据库,并且仅复制第一个实例中的db 0。当我尝试执行此操作(为第二个实例设置)时,我在Redis日志文件中收到以下错误消息: 我尝试使用redis-dump,但是尝试将生成的转储导入新实例时出现错误。(我认为与2 dbs和1 db无关,而是redis-dump中的一个错误,

  • 我们将redis用于缓存和会话。我希望能够使用分离redis数据库(相同的服务器,只是不同的数据库)为每个情况,以及能够使用相同的服务器生产和预生产。我知道Redis允许您在一台服务器上定义多个数据库(http://www.redisocokbook.org/multiple_databases.html),但是我不知道如何将其翻译成Redis。配置(至少根据文档http://laravel.co