我们在node js上使用node_redis(npm redis模块)来连接AWS elasticache。我们现在计划使用集群模式,但在使用node_redis时出现故障。它不处理MOVE命令。我们是否必须为node_redis做一些特定的事情才能在集群模式下工作?或者这不受支持,我们必须使用ioredis?
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存储中存储热值。
yi0zb3m42#
它支持使用createCluster函数的集群模式。在我们的应用中,我们通过两种配置来支持这两种模式-一种是Redis URL,另一种是standalone或cluster模式。根据模式,我们使用createCluster或createClient。
createCluster
standalone
cluster
if (config.redis.mode === 'cluster') { connection = createCluster({ rootNodes: [{ url: config.redis.url }] }); } else { connection = createClient({ url: config.redis.url }); } await connection.connect();
2条答案
按热度按时间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存储中存储热值。
yi0zb3m42#
它支持使用
createCluster
函数的集群模式。在我们的应用中,我们通过两种配置来支持这两种模式-一种是Redis URL,另一种是standalone
或cluster
模式。根据模式,我们使用createCluster或createClient。