Module: Valkey::Commands::ClusterCommands
- Included in:
- Valkey::Commands
- Defined in:
- lib/valkey/commands/cluster_commands.rb
Overview
This module contains commands related to Redis Cluster management.
Instance Method Summary collapse
-
#asking ⇒ String
Send ASKING command to the server.
-
#cluster_addslots(*slots) ⇒ String
Add slots to the cluster.
-
#cluster_addslotsrange(start_slot, end_slot) ⇒ String
Add a range of slots to the cluster.
-
#cluster_bumpepoch ⇒ String
Bump the epoch of the cluster.
-
#cluster_count_failure_reports(node_id) ⇒ Integer
Count failure reports for a node.
-
#cluster_countkeysinslot(slot) ⇒ Integer
Count keys in a specific slot.
-
#cluster_delslots(*slots) ⇒ String
Delete slots from the cluster.
-
#cluster_delslotsrange(start_slot, end_slot) ⇒ String
Delete a range of slots from the cluster.
-
#cluster_failover(force = nil) ⇒ String
Force a failover of the cluster.
-
#cluster_flushslots ⇒ String
Flush all slots from the cluster.
-
#cluster_forget(node_id) ⇒ String
Remove a node from the cluster.
-
#cluster_getkeysinslot(slot, count) ⇒ Array<String>
Get keys in a specific slot.
-
#cluster_info ⇒ Hash<String, String>
Get information about the cluster.
-
#cluster_keyslot(key) ⇒ Integer
Get the slot for a key.
-
#cluster_links ⇒ Array<Hash>
Get information about cluster links.
-
#cluster_meet(ip, port) ⇒ String
Meet another node in the cluster.
-
#cluster_myid ⇒ String
Get the ID of the current node.
-
#cluster_myshardid ⇒ String
Get the shard ID of the current node.
-
#cluster_nodes ⇒ Array<Hash>
Get information about all nodes in the cluster.
-
#cluster_replicas(node_id) ⇒ Array<Hash>
Get information about replica nodes.
-
#cluster_replicate(node_id) ⇒ String
Set a node as a replica of another node.
-
#cluster_reset(hard = nil) ⇒ String
Reset the cluster.
-
#cluster_saveconfig ⇒ String
Save the cluster configuration.
-
#cluster_set_config_epoch(epoch) ⇒ String
Set the config epoch for a node.
-
#cluster_setslot(slot, state, node_id = nil) ⇒ String
Set the state of a slot.
-
#cluster_shards ⇒ Array<Hash>
Get information about cluster shards.
-
#cluster_slaves(node_id) ⇒ Array<Hash>
Get information about slave nodes (deprecated, use cluster_replicas).
-
#cluster_slots ⇒ Array<Hash>
Get information about cluster slots.
-
#readonly ⇒ String
Set the connection to read-only mode.
-
#readwrite ⇒ String
Set the connection to read-write mode.
Instance Method Details
#asking ⇒ String
Send ASKING command to the server.
13 14 15 |
# File 'lib/valkey/commands/cluster_commands.rb', line 13 def asking send_command(RequestType::ASKING) end |
#cluster_addslots(*slots) ⇒ String
Add slots to the cluster.
21 22 23 |
# File 'lib/valkey/commands/cluster_commands.rb', line 21 def cluster_addslots(*slots) send_command(RequestType::CLUSTER_ADD_SLOTS, slots) end |
#cluster_addslotsrange(start_slot, end_slot) ⇒ String
Add a range of slots to the cluster.
30 31 32 |
# File 'lib/valkey/commands/cluster_commands.rb', line 30 def cluster_addslotsrange(start_slot, end_slot) send_command(RequestType::CLUSTER_ADD_SLOTS_RANGE, [start_slot, end_slot]) end |
#cluster_bumpepoch ⇒ String
Bump the epoch of the cluster.
37 38 39 |
# File 'lib/valkey/commands/cluster_commands.rb', line 37 def cluster_bumpepoch send_command(RequestType::CLUSTER_BUMP_EPOCH) end |
#cluster_count_failure_reports(node_id) ⇒ Integer
Count failure reports for a node.
45 46 47 |
# File 'lib/valkey/commands/cluster_commands.rb', line 45 def cluster_count_failure_reports(node_id) send_command(RequestType::CLUSTER_COUNT_FAILURE_REPORTS, [node_id]) end |
#cluster_countkeysinslot(slot) ⇒ Integer
Count keys in a specific slot.
53 54 55 |
# File 'lib/valkey/commands/cluster_commands.rb', line 53 def cluster_countkeysinslot(slot) send_command(RequestType::CLUSTER_COUNT_KEYS_IN_SLOT, [slot]) end |
#cluster_delslots(*slots) ⇒ String
Delete slots from the cluster.
61 62 63 |
# File 'lib/valkey/commands/cluster_commands.rb', line 61 def cluster_delslots(*slots) send_command(RequestType::CLUSTER_DEL_SLOTS, slots) end |
#cluster_delslotsrange(start_slot, end_slot) ⇒ String
Delete a range of slots from the cluster.
70 71 72 |
# File 'lib/valkey/commands/cluster_commands.rb', line 70 def cluster_delslotsrange(start_slot, end_slot) send_command(RequestType::CLUSTER_DEL_SLOTS_RANGE, [start_slot, end_slot]) end |
#cluster_failover(force = nil) ⇒ String
Force a failover of the cluster.
78 79 80 81 82 |
# File 'lib/valkey/commands/cluster_commands.rb', line 78 def cluster_failover(force = nil) args = [] args << "FORCE" if force send_command(RequestType::CLUSTER_FAILOVER, args) end |
#cluster_flushslots ⇒ String
Flush all slots from the cluster.
87 88 89 |
# File 'lib/valkey/commands/cluster_commands.rb', line 87 def cluster_flushslots send_command(RequestType::CLUSTER_FLUSH_SLOTS) end |
#cluster_forget(node_id) ⇒ String
Remove a node from the cluster.
95 96 97 |
# File 'lib/valkey/commands/cluster_commands.rb', line 95 def cluster_forget(node_id) send_command(RequestType::CLUSTER_FORGET, [node_id]) end |
#cluster_getkeysinslot(slot, count) ⇒ Array<String>
Get keys in a specific slot.
104 105 106 |
# File 'lib/valkey/commands/cluster_commands.rb', line 104 def cluster_getkeysinslot(slot, count) send_command(RequestType::CLUSTER_GET_KEYS_IN_SLOT, [slot, count]) end |
#cluster_info ⇒ Hash<String, String>
Get information about the cluster.
111 112 113 114 115 |
# File 'lib/valkey/commands/cluster_commands.rb', line 111 def cluster_info send_command(RequestType::CLUSTER_INFO) do |reply| Utils::HashifyInfo.call(reply) end end |
#cluster_keyslot(key) ⇒ Integer
Get the slot for a key.
121 122 123 |
# File 'lib/valkey/commands/cluster_commands.rb', line 121 def cluster_keyslot(key) send_command(RequestType::CLUSTER_KEY_SLOT, [key]) end |
#cluster_links ⇒ Array<Hash>
Get information about cluster links.
128 129 130 |
# File 'lib/valkey/commands/cluster_commands.rb', line 128 def cluster_links send_command(RequestType::CLUSTER_LINKS) end |
#cluster_meet(ip, port) ⇒ String
Meet another node in the cluster.
137 138 139 |
# File 'lib/valkey/commands/cluster_commands.rb', line 137 def cluster_meet(ip, port) send_command(RequestType::CLUSTER_MEET, [ip, port]) end |
#cluster_myid ⇒ String
Get the ID of the current node.
144 145 146 |
# File 'lib/valkey/commands/cluster_commands.rb', line 144 def cluster_myid send_command(RequestType::CLUSTER_MY_ID) end |
#cluster_myshardid ⇒ String
Get the shard ID of the current node.
151 152 153 |
# File 'lib/valkey/commands/cluster_commands.rb', line 151 def cluster_myshardid send_command(RequestType::CLUSTER_MY_SHARD_ID) end |
#cluster_nodes ⇒ Array<Hash>
Get information about all nodes in the cluster.
158 159 160 161 162 |
# File 'lib/valkey/commands/cluster_commands.rb', line 158 def cluster_nodes send_command(RequestType::CLUSTER_NODES) do |reply| Utils::HashifyClusterNodes.call(reply) end end |
#cluster_replicas(node_id) ⇒ Array<Hash>
Get information about replica nodes.
168 169 170 171 172 |
# File 'lib/valkey/commands/cluster_commands.rb', line 168 def cluster_replicas(node_id) send_command(RequestType::CLUSTER_REPLICAS, [node_id]) do |reply| Utils::HashifyClusterSlaves.call(reply) end end |
#cluster_replicate(node_id) ⇒ String
Set a node as a replica of another node.
178 179 180 |
# File 'lib/valkey/commands/cluster_commands.rb', line 178 def cluster_replicate(node_id) send_command(RequestType::CLUSTER_REPLICATE, [node_id]) end |
#cluster_reset(hard = nil) ⇒ String
Reset the cluster.
186 187 188 189 190 |
# File 'lib/valkey/commands/cluster_commands.rb', line 186 def cluster_reset(hard = nil) args = [] args << "HARD" if hard send_command(RequestType::CLUSTER_RESET, args) end |
#cluster_saveconfig ⇒ String
Save the cluster configuration.
195 196 197 |
# File 'lib/valkey/commands/cluster_commands.rb', line 195 def cluster_saveconfig send_command(RequestType::CLUSTER_SAVE_CONFIG) end |
#cluster_set_config_epoch(epoch) ⇒ String
Set the config epoch for a node.
203 204 205 |
# File 'lib/valkey/commands/cluster_commands.rb', line 203 def cluster_set_config_epoch(epoch) send_command(RequestType::CLUSTER_SET_CONFIG_EPOCH, [epoch]) end |
#cluster_setslot(slot, state, node_id = nil) ⇒ String
Set the state of a slot.
213 214 215 216 217 |
# File 'lib/valkey/commands/cluster_commands.rb', line 213 def cluster_setslot(slot, state, node_id = nil) args = [slot, state] args << node_id if node_id send_command(RequestType::CLUSTER_SETSLOT, args) end |
#cluster_shards ⇒ Array<Hash>
Get information about cluster shards.
222 223 224 |
# File 'lib/valkey/commands/cluster_commands.rb', line 222 def cluster_shards send_command(RequestType::CLUSTER_SHARDS) end |
#cluster_slaves(node_id) ⇒ Array<Hash>
Get information about slave nodes (deprecated, use cluster_replicas).
229 230 231 232 233 |
# File 'lib/valkey/commands/cluster_commands.rb', line 229 def cluster_slaves(node_id) send_command(RequestType::CLUSTER_SLAVES, [node_id]) do |reply| Utils::HashifyClusterSlaves.call(reply) end end |
#cluster_slots ⇒ Array<Hash>
Get information about cluster slots.
238 239 240 241 242 |
# File 'lib/valkey/commands/cluster_commands.rb', line 238 def cluster_slots send_command(RequestType::CLUSTER_SLOTS) do |reply| Utils::HashifyClusterSlots.call(reply) end end |
#readonly ⇒ String
Set the connection to read-only mode.
247 248 249 |
# File 'lib/valkey/commands/cluster_commands.rb', line 247 def readonly send_command(RequestType::READ_ONLY) end |
#readwrite ⇒ String
Set the connection to read-write mode.
254 255 256 |
# File 'lib/valkey/commands/cluster_commands.rb', line 254 def readwrite send_command(RequestType::READ_WRITE) end |