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

多个Redis实例

章城
2023-03-14
问题内容

大多数人似乎建议在不同的端口(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之间的数据。但是在进一步介绍之前,我想了解为什么您要使用单独的实例而不是仅创建第二个数据库。


问题答案:

两个主要原因:

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

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

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

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



 类似资料:
  • 问题内容: 大多数人似乎建议在不同的端口(6379和6380)上运行单独的Redis实例。为什么在创建第二个数据库时更通常建议这样做?我还没有完全阅读文档,但是大多数示例在连接时并未真正提及“选择Redis数据库”。Ruby客户端的一个示例,nrk / predis的自述文件: 目前,我们正在使用Campfire在办公室中运行Hubot,而我正在为GTalk工作第二个,因为每个Hubot实例只能使

  • 我试图与一个springboot应用程序连接到2个不同的redis实例:一个用作数据库,一个只用作缓存。我添加了不同的连接工厂和不同名称的redis模板,我使用@Qualifer来链接它们。我试图禁用从自动配置类RedisAutoConfiguration,但没有工作。 我总是收到这个错误: 包装人:org。springframework。豆。工厂UnsatifiedPendencyExcepti

  • 问题内容: 我想在Centos 7上运行Redis的多个实例。有人可以指出我的正确链接或在此处发布步骤。 我在Google上搜索了该信息,但没有找到任何相关信息。 问题答案: 您可以在单台计算机上使用不同的端口运行Redis的多个实例。如果这与您有关,则可以按照以下步骤操作。 通过安装第一个Redis实例,默认情况下它会监听。 对于第二实例,创建一个新的工作目录 默认的Redis实例用作其工作目录

  • 本文向大家介绍Redis使用Eval多个键值自增的操作实例,包括了Redis使用Eval多个键值自增的操作实例的使用技巧和注意事项,需要的朋友参考一下 在PHP上使用Redis 给多个键值进行自增,示例如下: 如果这样写可能需要请求五次,可以通过 Eval 方法来一次完成,大大提高效率 Redis 用的 Lua 语法,我也不熟悉,这个字符串拼接方式也很特别的是两个点号 “..” 以上这篇Redis

  • 问题内容: 如何使用排序集从Redis获取多个键的值? 这将有两个用户。 如何在一个查询中检索具有键“ David”和“ Linda”的用户? 问题答案: 无需在Redis中引入新命令的方法有多种。 例如,您可以使用感兴趣的名称填充临时集,然后计算该临时集与zset之间的交集: 使用流水线操作,只会产生一次往返,并且您可以在tmp中填充任意数量的输入参数。 使用Redis 2.6,您还可以将这些行

  • 问题内容: 我目前正在与Redis一起玩,我有几个问题。是否可以从键数组中获取值? 例: 当我返回时。我可以遍历此列表并获得用户:1,获得用户:2。但这感觉不对,有没有办法让所有与会者的信息一目了然? 在rails中,我会做这样的事情: 但是在redis中我不能,因为它返回键,而不是存储在该键上的实际对象。 谢谢 :) 问题答案: 在项目上循环并同步访问每个元素不是很有效。使用Redis 2.4,