Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Redis cluster:hgetall是否会在群集中的所有节点上搜索密钥?_Node.js_Redis_Redis Cluster - Fatal编程技术网

Node.js Redis cluster:hgetall是否会在群集中的所有节点上搜索密钥?

Node.js Redis cluster:hgetall是否会在群集中的所有节点上搜索密钥?,node.js,redis,redis-cluster,Node.js,Redis,Redis Cluster,默认情况下,Aws elasticache创建redis群集 我使用nodejs和ioredis 我的问题是,如果我调用hgetall,它会自动查询集群中的所有节点吗? 或者我还需要做些什么 更新:我认为我在这里说的不正确,请参阅。对于像HGETALL这样的命令,客户端库知道将其发送到哪里 从文档中,强调我的: 每个命令将被发送到一个节点对于包含键的命令(例如…HGETALL),ioredis将它们发送到为键提供服务的节点[sic],对于不包含键的其他命令(例如INFO、keys和FLUSHDB

默认情况下,Aws elasticache创建redis群集

我使用nodejs和ioredis

我的问题是,如果我调用hgetall,它会自动查询集群中的所有节点吗?
或者我还需要做些什么

更新:我认为我在这里说的不正确,请参阅。对于像
HGETALL
这样的命令,客户端库知道将其发送到哪里

从文档中,强调我的:

每个命令将被发送到一个节点对于包含键的命令(例如…HGETALL),ioredis将它们发送到为键提供服务的节点[sic],对于不包含键的其他命令(例如INFO、keys和FLUSHDB),ioredis将它们发送到随机节点


不,不是自动的。您需要自己向集群中的每个节点发送
hgetall
。有一个
nodes()
实用程序函数返回节点数组以便于执行此操作


文档明确回答了这一问题,并提供了一个示例,请参见。

更新:我认为我在这里说的不正确,请参见。对于像
HGETALL
这样的命令,客户端库知道将其发送到哪里

从文档中,强调我的:

每个命令将被发送到一个节点对于包含键的命令(例如…HGETALL),ioredis将它们发送到为键提供服务的节点[sic],对于不包含键的其他命令(例如INFO、keys和FLUSHDB),ioredis将它们发送到随机节点


不,不是自动的。您需要自己向集群中的每个节点发送
hgetall
。有一个
nodes()
实用程序函数返回节点数组以便于执行此操作


文档明确回答了这一问题,并提供了一个示例,请参阅。

您不需要查询所有节点。用于连接到群集,它会将命令发送到正确的节点


Redis集群的一个像样的客户端库应该实现。客户端库的最终用户不必担心密钥的位置。

您不需要查询所有节点。用于连接到群集,它会将命令发送到正确的节点

Redis集群的一个像样的客户端库应该实现。客户端库的最终用户不应该担心密钥的位置