redis_cluster 0.2.5 → 0.2.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rspec +3 -0
- data/README.md +3 -1
- data/lib/redis_cluster/client.rb +5 -2
- data/lib/redis_cluster/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 80d0d898c697524df7d413d0d776be6db761cf32
|
4
|
+
data.tar.gz: 8d2c6b914846787fb0431e7b8eb95b0e416ddd02
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b27296df54145f1c0049c8988492c08a6a5c4d31769aeeeae56f0092d59fa8b8ce8c9f4aa438b98a695d13a9f3e19b2623109020bed0cb90eb52180639a98dbf
|
7
|
+
data.tar.gz: a2c3433086109b5c71638ef4630a006bdbf45461a6f3511edaf02e425c2b613cbadee71dcf1a699a90310aeb198464a9918ebead0dcaf777adfc19f3ba16e8a4
|
data/.rspec
ADDED
data/README.md
CHANGED
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
![travis ci](https://travis-ci.org/zhchsf/redis_cluster.svg?branch=master)
|
4
4
|
|
5
|
+
First see: [https://redis.io/topics/cluster-tutorial](https://redis.io/topics/cluster-tutorial)
|
6
|
+
|
5
7
|
RedisCluster for ruby is rewrited from [https://github.com/antirez/redis-rb-cluster](https://github.com/antirez/redis-rb-cluster)
|
6
8
|
|
7
9
|
Now is developing, only support single node methods, and not use in any production environments.
|
@@ -25,7 +27,7 @@ Or install it yourself as:
|
|
25
27
|
|
26
28
|
## Usage
|
27
29
|
|
28
|
-
|
30
|
+
First you need to configure redis cluster with some nodes! Please see: [https://redis.io/topics/cluster-tutorial](https://redis.io/topics/cluster-tutorial)
|
29
31
|
|
30
32
|
```ruby
|
31
33
|
hosts = [{host: '127.0.0.1', port: 7000}, {host: '127.0.0.1', port: 7001}] # don't need all, gem can auto detect all nodes, and process failover if some master nodes down
|
data/lib/redis_cluster/client.rb
CHANGED
@@ -8,7 +8,7 @@ module RedisCluster
|
|
8
8
|
@startup_hosts = startup_hosts
|
9
9
|
@pool = Pool.new
|
10
10
|
@mutex = Mutex.new
|
11
|
-
reload_pool_nodes
|
11
|
+
reload_pool_nodes(true)
|
12
12
|
end
|
13
13
|
|
14
14
|
def execute(method, args, &block)
|
@@ -49,7 +49,7 @@ module RedisCluster
|
|
49
49
|
|
50
50
|
private
|
51
51
|
|
52
|
-
def reload_pool_nodes
|
52
|
+
def reload_pool_nodes(raise_error = false)
|
53
53
|
@mutex.synchronize do
|
54
54
|
@startup_hosts.each do |options|
|
55
55
|
begin
|
@@ -60,6 +60,9 @@ module RedisCluster
|
|
60
60
|
slots_ranges = infos.map {|x| x[0]..x[1] }
|
61
61
|
@pool.add_node!({host: host[0], port: host[1]}, slots_ranges)
|
62
62
|
end
|
63
|
+
rescue Redis::CommandError => e
|
64
|
+
raise e if raise_error && e.message =~ /cluster\ support\ disabled$/
|
65
|
+
next
|
63
66
|
rescue
|
64
67
|
next
|
65
68
|
end
|
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.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- wangzc
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-12-
|
11
|
+
date: 2016-12-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: redis
|
@@ -102,6 +102,7 @@ extensions: []
|
|
102
102
|
extra_rdoc_files: []
|
103
103
|
files:
|
104
104
|
- ".gitignore"
|
105
|
+
- ".rspec"
|
105
106
|
- ".travis.yml"
|
106
107
|
- CODE_OF_CONDUCT.md
|
107
108
|
- Gemfile
|