redis_cluster 0.2.6 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +0 -2
- data/lib/redis_cluster/client.rb +2 -0
- data/lib/redis_cluster/configuration.rb +1 -1
- data/lib/redis_cluster/pool.rb +14 -3
- data/lib/redis_cluster/slot.rb +1 -1
- data/lib/redis_cluster/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4f7960de798b0e8a7a7f23671173cd8aac2e0817
|
4
|
+
data.tar.gz: 7ca5c777d03bd95f29fef19ec99af2338dff6893
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 172f1c6609af9bb0c4b835c730afc43b28ee83a3a1941d43c9aa08f9f97f403db4a024372a7bb7df4eea9e6c40aa4d1bac35daa4bdbe4581b15bc74400a0d987
|
7
|
+
data.tar.gz: a1cbf58a407fba42f413e12d8ff9bc907afc1a47fa14dfec4a7a5800569843c6e146ede14ae9d715318b9fb1202f18bfe23526c31584340bbed449b02b654681
|
data/README.md
CHANGED
@@ -6,8 +6,6 @@ First see: [https://redis.io/topics/cluster-tutorial](https://redis.io/topics/cl
|
|
6
6
|
|
7
7
|
RedisCluster for ruby is rewrited from [https://github.com/antirez/redis-rb-cluster](https://github.com/antirez/redis-rb-cluster)
|
8
8
|
|
9
|
-
Now is developing, only support single node methods, and not use in any production environments.
|
10
|
-
|
11
9
|
|
12
10
|
## Installation
|
13
11
|
|
data/lib/redis_cluster/client.rb
CHANGED
@@ -50,6 +50,8 @@ module RedisCluster
|
|
50
50
|
private
|
51
51
|
|
52
52
|
def reload_pool_nodes(raise_error = false)
|
53
|
+
return @pool.add_node!(@startup_hosts, [(0..Configuration::HASH_SLOTS)]) unless @startup_hosts.is_a? Array
|
54
|
+
|
53
55
|
@mutex.synchronize do
|
54
56
|
@startup_hosts.each do |options|
|
55
57
|
begin
|
data/lib/redis_cluster/pool.rb
CHANGED
@@ -24,7 +24,7 @@ module RedisCluster
|
|
24
24
|
# asking
|
25
25
|
# random_node
|
26
26
|
def execute(method, args, other_options, &block)
|
27
|
-
return send(method, args
|
27
|
+
return send(method, args, &block) if Configuration::SUPPORT_MULTI_NODE_METHODS.include?(method.to_s)
|
28
28
|
|
29
29
|
key = key_by_command(method, args)
|
30
30
|
raise NotSupportError if key.nil?
|
@@ -34,10 +34,21 @@ module RedisCluster
|
|
34
34
|
node.execute(method, args, &block)
|
35
35
|
end
|
36
36
|
|
37
|
-
def keys(
|
37
|
+
def keys(args, &block)
|
38
|
+
glob = args.first
|
38
39
|
on_each_node(:keys, glob).flatten
|
39
40
|
end
|
40
41
|
|
42
|
+
# Now mutli & pipelined conmand must control keys at same slot yourself
|
43
|
+
# You can use hash tag: '{foo}1'
|
44
|
+
def multi(args, &block)
|
45
|
+
random_node.execute :multi, args, &block
|
46
|
+
end
|
47
|
+
|
48
|
+
def pipelined(args, &block)
|
49
|
+
random_node.execute :pipelined, args, &block
|
50
|
+
end
|
51
|
+
|
41
52
|
private
|
42
53
|
|
43
54
|
def node_by(key)
|
@@ -51,7 +62,7 @@ module RedisCluster
|
|
51
62
|
|
52
63
|
def key_by_command(method, args)
|
53
64
|
case method.to_s.downcase
|
54
|
-
when 'info', '
|
65
|
+
when 'info', 'exec', 'slaveof', 'config', 'shutdown'
|
55
66
|
nil
|
56
67
|
else
|
57
68
|
return args.first
|
data/lib/redis_cluster/slot.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redis_cluster
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- wangzc
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-03-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: redis
|