7

我用谷歌搜索并找到了两个解决方案:

  1. CLUSTER FORGET( http://redis.io/commands/cluster-forget )

  2. redis-trib.rb del-node

我认为CLUSTER FORGET“是正确的做法。

但我真的很想知道关于redis-trib.rb del-node.

有人可以解释它们之间的区别吗?

4

3 回答 3

5

redis-trib.rb是一个 ruby​​ 实用程序脚本,由 antirez(主要 redis 开发人员)构建,作为在基本 redis 集群命令之上构建管理工具的参考实现。

在引擎盖下 redis-trib 用于CLUSTER FORGET实现它自己的管理 del-node 命令。https://github.com/antirez/redis/blob/unstable/src/redis-trib.rb#L1374

Redis-trib 使用起来更加友好。如果您正在这样做CLUSTER FORGET,则需要循环并将该命令发送到系统中的每个其他节点,而 del-node 将为您自动执行该过程。

于 2016-04-08T16:37:28.893 回答
3

从 Redis 6.2.3 开始

警告:redis-trib.rb 不再可用!您应该改用 redis-cli。

属于 redis-trib.rb 的所有命令和功能都已移至 redis-cli。为了使用它们,您应该使用redis-cli带有--cluster 子命令名称、参数和选项的选项进行调用。

使用以下语法: redis-cli --cluster SUBCOMMAND [ARGUMENTS] [OPTIONS]

例子: redis-cli --cluster info 127.0.0.1:6382


~$ redis-cli
127.0.0.1:6379> CLUSTER HELP
127.0.0.1:6379> CLUSTER NODES
127.0.0.1:6379> CLUSTER FORGET <node-id>
于 2021-05-26T12:23:23.800 回答
2
src/redis-trib.rb del-node 192.168.0.211:6379 650e3746968e6b7c7e357f06adbde5b3b92fcceb

笔记:

  • 192.168.0.211:6379这是集群中的任何节点
  • 650e3746968e6b7c7e357f06adbde5b3b92fcceb这是您要删除的节点的集群 ID。您可以从“cluster nodes”命令中获取此 ID 的值。
于 2016-06-21T12:21:19.700 回答