redis-cluster-client 0.3.14 → 0.3.15
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/redis_client/cluster/node.rb +1 -1
- data/lib/redis_client/cluster/router.rb +12 -10
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c0492c31a84cc5a5982973891f9c305d67d6121f03fb12fef76b7045a8960421
|
4
|
+
data.tar.gz: e2531e6b21591974103c794cea27fa7383fb3c7aef27ab08850d7468bc6555c0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 472a05c3122f7847df1fa316ac1e20722abb5c34a299daf2dee71cc71a3cf74437100f97c9ed2105a105b517bdf01066a8702296182126a232d5b7cc463caac0
|
7
|
+
data.tar.gz: 9c5bfa33629d5ec005e20c8672748967796a150a190a7aa9de46f11225731b0cec6ce02b6e00b7b94ba1703d5bd103e584d538ccf5219a10c713fbc206f07598
|
@@ -285,7 +285,7 @@ class RedisClient
|
|
285
285
|
|
286
286
|
def call_multiple_nodes(clients, method, command, args, &block)
|
287
287
|
results, errors = try_map(clients) do |_, client|
|
288
|
-
client.
|
288
|
+
client.public_send(method, *args, command, &block)
|
289
289
|
end
|
290
290
|
|
291
291
|
[results&.values, errors]
|
@@ -68,9 +68,9 @@ class RedisClient
|
|
68
68
|
def try_send(node, method, command, args, retry_count: 3, &block) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
|
69
69
|
if args.empty?
|
70
70
|
# prevent memory allocation for variable-length args
|
71
|
-
node.
|
71
|
+
node.public_send(method, command, &block)
|
72
72
|
else
|
73
|
-
node.
|
73
|
+
node.public_send(method, *args, command, &block)
|
74
74
|
end
|
75
75
|
rescue ::RedisClient::CommandError => e
|
76
76
|
raise if retry_count <= 0
|
@@ -101,7 +101,7 @@ class RedisClient
|
|
101
101
|
end
|
102
102
|
|
103
103
|
def try_delegate(node, method, *args, retry_count: 3, **kwargs, &block) # rubocop:disable Metrics/AbcSize
|
104
|
-
node.
|
104
|
+
node.public_send(method, *args, **kwargs, &block)
|
105
105
|
rescue ::RedisClient::CommandError => e
|
106
106
|
raise if retry_count <= 0
|
107
107
|
|
@@ -214,7 +214,7 @@ class RedisClient
|
|
214
214
|
case ::RedisClient::Cluster::NormalizedCmdName.instance.get_by_subcommand(command)
|
215
215
|
when 'resetstat', 'rewrite', 'set'
|
216
216
|
@node.call_all(method, command, args, &block).first
|
217
|
-
else assign_node(command).
|
217
|
+
else assign_node(command).public_send(method, *args, command, &block)
|
218
218
|
end
|
219
219
|
end
|
220
220
|
|
@@ -222,7 +222,7 @@ class RedisClient
|
|
222
222
|
case ::RedisClient::Cluster::NormalizedCmdName.instance.get_by_subcommand(command)
|
223
223
|
when 'stats' then @node.call_all(method, command, args, &block)
|
224
224
|
when 'purge' then @node.call_all(method, command, args, &block).first
|
225
|
-
else assign_node(command).
|
225
|
+
else assign_node(command).public_send(method, *args, command, &block)
|
226
226
|
end
|
227
227
|
end
|
228
228
|
|
@@ -231,7 +231,7 @@ class RedisClient
|
|
231
231
|
when 'list' then @node.call_all(method, command, args, &block).flatten
|
232
232
|
when 'pause', 'reply', 'setname'
|
233
233
|
@node.call_all(method, command, args, &block).first
|
234
|
-
else assign_node(command).
|
234
|
+
else assign_node(command).public_send(method, *args, command, &block)
|
235
235
|
end
|
236
236
|
end
|
237
237
|
|
@@ -244,8 +244,8 @@ class RedisClient
|
|
244
244
|
when 'getkeysinslot'
|
245
245
|
raise ArgumentError, command.join(' ') if command.size != 4
|
246
246
|
|
247
|
-
find_node(@node.find_node_key_of_replica(command[2])).
|
248
|
-
else assign_node(command).
|
247
|
+
find_node(@node.find_node_key_of_replica(command[2])).public_send(method, *args, command, &block)
|
248
|
+
else assign_node(command).public_send(method, *args, command, &block)
|
249
249
|
end
|
250
250
|
end
|
251
251
|
|
@@ -255,7 +255,9 @@ class RedisClient
|
|
255
255
|
@node.call_all(method, command, args, &block).first
|
256
256
|
when 'flush', 'load'
|
257
257
|
@node.call_primaries(method, command, args, &block).first
|
258
|
-
|
258
|
+
when 'exists'
|
259
|
+
@node.call_all(method, command, args, &block).transpose.map { |arr| arr.any?(&:zero?) ? 0 : 1 }
|
260
|
+
else assign_node(command).public_send(method, *args, command, &block)
|
259
261
|
end
|
260
262
|
end
|
261
263
|
|
@@ -266,7 +268,7 @@ class RedisClient
|
|
266
268
|
@node.call_all(method, command, args, &block).reject(&:empty?).map { |e| Hash[*e] }
|
267
269
|
.reduce({}) { |a, e| a.merge(e) { |_, v1, v2| v1 + v2 } }
|
268
270
|
when 'numpat' then @node.call_all(method, command, args, &block).select { |e| e.is_a?(Integer) }.sum
|
269
|
-
else assign_node(command).
|
271
|
+
else assign_node(command).public_send(method, *args, command, &block)
|
270
272
|
end
|
271
273
|
end
|
272
274
|
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redis-cluster-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Taishi Kasuga
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-12-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: redis-client
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.11'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0.
|
26
|
+
version: '0.11'
|
27
27
|
description:
|
28
28
|
email:
|
29
29
|
- proxy0721@gmail.com
|
@@ -69,7 +69,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
69
69
|
- !ruby/object:Gem::Version
|
70
70
|
version: '0'
|
71
71
|
requirements: []
|
72
|
-
rubygems_version: 3.3.
|
72
|
+
rubygems_version: 3.3.23
|
73
73
|
signing_key:
|
74
74
|
specification_version: 4
|
75
75
|
summary: A Redis cluster client for Ruby
|