小编典典

多个Redis实例

redis

大多数人似乎建议在不同的端口(6379和6380)上运行单独的Redis实例。为什么在创建第二个数据库时更通常建议这样做?我还没有完全阅读文档,但是大多数示例在连接时并未真正提及“选择Redis数据库”。Ruby客户端的一个示例,nrk
/ predis的自述文件:

$redis = new Predis\Client(array(
    'scheme' => 'tcp',
    'host'   => '10.0.0.1',
    'port'   => 6379,
));

目前,我们正在使用Campfire在办公室中运行Hubot,而我正在为GTalk工作第二个,因为每个Hubot实例只能使用一个适配器。因此,我正在考虑创建第二个数据库或Redis实例,以便隔离两个hubot之间的数据。但是在进一步介绍之前,我想了解为什么您要使用单独的实例而不是仅创建第二个数据库。


阅读 736

收藏
2020-06-20

共1个答案

小编典典

两个主要原因:

  1. 使用多个数据库通常被认为是很糟糕的,并且有一天会被弃用,而且它们会有一些性能上的损失,尽管影响很小。

  2. 主要原因是redis是单线程的,如果您需要两个不同的数据源,则另一个redis实例将提高性能,因为它将使用您可能拥有的另一个CPU,而一个实例将始终仅使用一个。

  3. 同样,不同的redis实例可以具有不同的持久性设置。例如,一个实例只能使用内存,其他实例可以使用文件作为存储 Redis Persistence

然后还有其他优点,例如具有单独的身份验证密码,LRU策略等-只能在实例级别完成。

2020-06-20