node_redis(npm redis模块)支持redis集群模式还是我们必须使用ioredis?

dy1byipe  于 2023-01-16  发布在  Node.js
关注(0)|答案(2)|浏览(334)

我们在node js上使用node_redis(npm redis模块)来连接AWS elasticache。我们现在计划使用集群模式,但在使用node_redis时出现故障。它不处理MOVE命令。
我们是否必须为node_redis做一些特定的事情才能在集群模式下工作?或者这不受支持,我们必须使用ioredis?

olhwl3o2

olhwl3o21#

它是通过一个单独的模块redis-clustr提供的,但是它的使用率并不高,下面是来自redis实验室Source的官方消息。
Node.js有两个主要的客户端node_redis和ioredis。两个客户端都可以通过npm获得。两个客户端都有优点和缺点,但是我们通常推荐node_redis,因为它对Redis模块有广泛的支持,它很容易扩展,并且被广泛使用。但只有在您专门使用集群API拓扑结构而不是更常见的代理拓扑结构时,这才是相关的。Node_redis对集群API的支持是由一个附加的shim提供的,Node_redis内置了对Redis Enterprise功能的支持,如Active Active地理分布,允许您拥有一个跨多个集群的数据库。Node_redis还支持Redis-on-Flash,可以将您的数据库扩展到Flash SSD存储中存储温值和DRAM存储中存储热值。

yi0zb3m4

yi0zb3m42#

它支持使用createCluster函数的集群模式。在我们的应用中,我们通过两种配置来支持这两种模式-一种是Redis URL,另一种是standalonecluster模式。根据模式,我们使用createCluster或createClient。

if (config.redis.mode === 'cluster') {
    connection = createCluster({ rootNodes: [{ url: config.redis.url }] });
  } else {
    connection = createClient({ url: config.redis.url });
  }
  await connection.connect();

相关问题