4

设置:我们有一个 redis 设置,其中我们有一个主服务器和 4 个从服务器运行在同一台机器上。使用多个实例的原因是 -

  • 避免热键
  • 内存不是限制,因为键的数量很小~10k(我们有一台超大的 EC2 机器)

请求:每个客户端请求我们大约从 redis 发出 60 个获取请求。我们将 60 件商品合并为 4 件商品。我们为所有请求建立一个单一的连接(到随机挑选的一个奴隶)。

问题

  • 在从属服务器中使用复制数据运行多个 redis 实例是否有意义?
  • 在我们的案例中使用 mgets 而不是 get 是否有助于我们在同一台机器上拥有所有实例?
4

1 回答 1

3
  • 在同一台机器上运行多个 redis 实例很有用。Redis 是单线程的,所以如果你的机器有多个核心,你可以通过使用多个实例来获得更多的 CPU 能力。Craigslist 在此配置中运行,如下所述:http: //blog.zawodny.com/2011/02/26/redis-sharding-at-craigslist/

  • mget 与 get 应该会有所帮助,因为您只需要对 redis 服务器进行 4 次往返而不是 60 次,从而提高吞吐量 - 在同一台机器上运行多个实例不应该改变这一点。

于 2013-02-19T16:52:20.887 回答