redis 3.2.2 → 3.3.0
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.
Potentially problematic release.
This version of redis might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.travis.yml +9 -3
- data/CHANGELOG.md +14 -0
- data/README.md +85 -3
- data/lib/redis.rb +117 -74
- data/lib/redis/client.rb +32 -14
- data/lib/redis/connection/hiredis.rb +3 -1
- data/lib/redis/connection/ruby.rb +56 -2
- data/lib/redis/connection/synchrony.rb +11 -2
- data/lib/redis/subscribe.rb +10 -2
- data/lib/redis/version.rb +1 -1
- data/redis.gemspec +2 -2
- data/test/client_test.rb +59 -0
- data/test/connection_handling_test.rb +27 -0
- data/test/distributed_internals_test.rb +1 -1
- data/test/lint/blocking_commands.rb +1 -1
- data/test/lint/sorted_sets.rb +4 -4
- data/test/publish_subscribe_test.rb +28 -0
- data/test/ssl_test.rb +66 -0
- data/test/support/redis_mock.rb +13 -2
- data/test/support/ssl/gen_certs.sh +31 -0
- data/test/support/ssl/trusted-ca.crt +25 -0
- data/test/support/ssl/trusted-ca.key +27 -0
- data/test/support/ssl/trusted-cert.crt +81 -0
- data/test/support/ssl/trusted-cert.key +28 -0
- data/test/support/ssl/untrusted-ca.crt +26 -0
- data/test/support/ssl/untrusted-ca.key +27 -0
- data/test/support/ssl/untrusted-cert.crt +82 -0
- data/test/support/ssl/untrusted-cert.key +28 -0
- data/test/thread_safety_test.rb +30 -0
- metadata +39 -17
@@ -0,0 +1,28 @@
|
|
1
|
+
-----BEGIN PRIVATE KEY-----
|
2
|
+
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCac+dF/NO1Sr29
|
3
|
+
rTDlJHQ4AYmPqZC/PEq/0fFe28iqJlnm7LOgD010Wd3JJy/hSH0w2VkGLynw0SUz
|
4
|
+
eV9YnddUyKeqGoQAooVjMszvc32wJsaV8YYWaDhjVwkNb2pw6HU7crSxTQEOAQ6/
|
5
|
+
v2qMiP4Ny4hDG9rtDIglM/e5sfwyuJTJIHysSeTBWJNpDkHj35bjRxEUjORLtlbf
|
6
|
+
b17SSNyhipjMSwKJler23qU6nAZ88HwJbycR8rEbR2uj6tbuoWWRhM8ugdNVSugB
|
7
|
+
TnJBrJLgfXz+hfAu8e5KgPlOWrSVbLv+/0ZYSnv8oGNZXQFbYwZclIMwJ4HwGhOJ
|
8
|
+
Wlqi4g/rAgMBAAECggEAPX3fmfGqqAb1u8p0KQZ2bsXN6rBrvHdYmz4OhuGh5nwW
|
9
|
+
VuXuLc9p2uTcc/VyDpM5pHUkCF5GqGXcFb5Aw5sz28F3XzXnUAlkabYT+VFVvQfz
|
10
|
+
EEd0Rv9/U62XIQ42pnUmF2D3p48s2FJ7eMPQu9reqsdZnL4+TxoqKgWinv/JlLdh
|
11
|
+
zBxjgVgaDMsvVc4cuuT6bcI3DUe2F9ALBKfaCxZoOUSsmgieuXog00Bzv0NmZoUD
|
12
|
+
WsAX0syzUlwjVmCr8J4I0IByYAbn1S/ozU141Z+H+VUyuEpYw0zDqDNrlmdYclc8
|
13
|
+
neoq8Xj9Cx1zHdF5H3aT9SLUGxdHPJpED9wQNx2toQKBgQDJcgJEG39u3h3mW/At
|
14
|
+
f8jl8evar5nUOOn5AIxVGFAWx4ZvoboxHSRlS6UkF0AImlH4L7xQESb9BMzOrObN
|
15
|
+
PBNQrccH+fz1o1fHDhob7EvyMMwzmDCPpQnN/6KXRzapu2MDFvlMkEMITTN7J0En
|
16
|
+
c9BOxo06Q4DKXGVCiWmbIwXihQKBgQDER/KfaWRZWOA2mQ26giJVjUX4+s1GeQM0
|
17
|
+
V4AIo1KS6fDzh68RsAQpMTx/N8aHEcxf+2qGIOTCvFY3Nxqe5aw/Xiz47MPlYulM
|
18
|
+
OecovSO96nidhyv2Zux+HpvI85tcWTyORi+RWho51gTOLth6BJ4uvSsaooWmO0Va
|
19
|
+
GoIxKcaLrwKBgH/guuWHWy8DG5H3fRE1FFA8cc+iN5HMC2NBYNRIGddME+BblznE
|
20
|
+
WS1ghtXRWJnddPmLPAzLxqdJ28W7ZsyUPWKy3i0HGfjJF1jKb/KX32JAbfC2xOT7
|
21
|
+
DK1TgWBtGZtH1EPK2rkqvxLPB0Y/lhG4aF0Jl++LmH9dhf5mAr8zzXGNAoGBAKEi
|
22
|
+
l7H66aDX76mi2LxmnR0yz2DpNKBINDNCKh/tRJrLZz3mA/k3URMoEow2E8tK90dM
|
23
|
+
tVTLqEGeMAFAQaB02IVlIPJyHRgxrWkgl/6/15nP5ZkdISA1uqyHIElGhCK6N5Zt
|
24
|
+
VBu1ppYYdvV1S85QADRKpBpHlgSz3+lqnbsSmqaNAoGAacA3XSIzTHj6+06VzEHN
|
25
|
+
aO2LJbBxl6Eduj6eTEgcZBlQOX6cVvaleTAT2g2xM0aGMV4StmdijUdktjBQVLpH
|
26
|
+
8PBTqlfVuLXEXQd+qWMpUJwEkh/pdmf9EPoLSfp3zQLaNI/kCg3jQtR4n6/68hfi
|
27
|
+
5Q6L0mN+SoB+jRNPDSV7JWA=
|
28
|
+
-----END PRIVATE KEY-----
|
data/test/thread_safety_test.rb
CHANGED
@@ -28,5 +28,35 @@ class TestThreadSafety < Test::Unit::TestCase
|
|
28
28
|
assert_equal ["1"], $foos.uniq
|
29
29
|
assert_equal ["2"], $bars.uniq
|
30
30
|
end
|
31
|
+
|
32
|
+
def test_thread_safety_queue_commit
|
33
|
+
redis = Redis.new(OPTIONS)
|
34
|
+
redis.set "foo", 1
|
35
|
+
redis.set "bar", 2
|
36
|
+
|
37
|
+
sample = 100
|
38
|
+
|
39
|
+
t1 = Thread.new do
|
40
|
+
sample.times do
|
41
|
+
r.queue("get", "foo")
|
42
|
+
end
|
43
|
+
|
44
|
+
$foos = r.commit
|
45
|
+
end
|
46
|
+
|
47
|
+
t2 = Thread.new do
|
48
|
+
sample.times do
|
49
|
+
r.queue("get", "bar")
|
50
|
+
end
|
51
|
+
|
52
|
+
$bars = r.commit
|
53
|
+
end
|
54
|
+
|
55
|
+
t1.join
|
56
|
+
t2.join
|
57
|
+
|
58
|
+
assert_equal ["1"], $foos.uniq
|
59
|
+
assert_equal ["2"], $bars.uniq
|
60
|
+
end
|
31
61
|
end
|
32
62
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redis
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ezra Zygmuntowicz
|
@@ -16,36 +16,36 @@ authors:
|
|
16
16
|
autorequire:
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
|
-
date:
|
19
|
+
date: 2016-04-18 00:00:00.000000000 Z
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
22
|
name: rake
|
23
23
|
requirement: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
|
-
- -
|
25
|
+
- - <
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version:
|
27
|
+
version: 11.0.0
|
28
28
|
type: :development
|
29
29
|
prerelease: false
|
30
30
|
version_requirements: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- -
|
32
|
+
- - <
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version:
|
34
|
+
version: 11.0.0
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: test-unit
|
37
37
|
requirement: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- -
|
39
|
+
- - '='
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version:
|
41
|
+
version: 3.1.5
|
42
42
|
type: :development
|
43
43
|
prerelease: false
|
44
44
|
version_requirements: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
|
-
- -
|
46
|
+
- - '='
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version:
|
48
|
+
version: 3.1.5
|
49
49
|
description: |2
|
50
50
|
A Ruby client that tries to match Redis' API one-to-one, while still
|
51
51
|
providing an idiomatic interface. It features thread-safety,
|
@@ -56,10 +56,10 @@ executables: []
|
|
56
56
|
extensions: []
|
57
57
|
extra_rdoc_files: []
|
58
58
|
files:
|
59
|
-
-
|
60
|
-
-
|
61
|
-
-
|
62
|
-
-
|
59
|
+
- .gitignore
|
60
|
+
- .travis.yml
|
61
|
+
- .travis/Gemfile
|
62
|
+
- .yardopts
|
63
63
|
- CHANGELOG.md
|
64
64
|
- Gemfile
|
65
65
|
- LICENSE
|
@@ -99,6 +99,7 @@ files:
|
|
99
99
|
- redis.gemspec
|
100
100
|
- test/bitpos_test.rb
|
101
101
|
- test/blocking_commands_test.rb
|
102
|
+
- test/client_test.rb
|
102
103
|
- test/command_map_test.rb
|
103
104
|
- test/commands_on_hashes_test.rb
|
104
105
|
- test/commands_on_hyper_log_log_test.rb
|
@@ -151,10 +152,20 @@ files:
|
|
151
152
|
- test/sentinel_command_test.rb
|
152
153
|
- test/sentinel_test.rb
|
153
154
|
- test/sorting_test.rb
|
155
|
+
- test/ssl_test.rb
|
154
156
|
- test/support/connection/hiredis.rb
|
155
157
|
- test/support/connection/ruby.rb
|
156
158
|
- test/support/connection/synchrony.rb
|
157
159
|
- test/support/redis_mock.rb
|
160
|
+
- test/support/ssl/gen_certs.sh
|
161
|
+
- test/support/ssl/trusted-ca.crt
|
162
|
+
- test/support/ssl/trusted-ca.key
|
163
|
+
- test/support/ssl/trusted-cert.crt
|
164
|
+
- test/support/ssl/trusted-cert.key
|
165
|
+
- test/support/ssl/untrusted-ca.crt
|
166
|
+
- test/support/ssl/untrusted-ca.key
|
167
|
+
- test/support/ssl/untrusted-cert.crt
|
168
|
+
- test/support/ssl/untrusted-cert.key
|
158
169
|
- test/support/wire/synchrony.rb
|
159
170
|
- test/support/wire/thread.rb
|
160
171
|
- test/synchrony_driver.rb
|
@@ -173,23 +184,24 @@ require_paths:
|
|
173
184
|
- lib
|
174
185
|
required_ruby_version: !ruby/object:Gem::Requirement
|
175
186
|
requirements:
|
176
|
-
- -
|
187
|
+
- - '>='
|
177
188
|
- !ruby/object:Gem::Version
|
178
189
|
version: '0'
|
179
190
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
180
191
|
requirements:
|
181
|
-
- -
|
192
|
+
- - '>='
|
182
193
|
- !ruby/object:Gem::Version
|
183
194
|
version: '0'
|
184
195
|
requirements: []
|
185
196
|
rubyforge_project:
|
186
|
-
rubygems_version: 2.4.
|
197
|
+
rubygems_version: 2.4.6
|
187
198
|
signing_key:
|
188
199
|
specification_version: 4
|
189
200
|
summary: A Ruby client library for Redis
|
190
201
|
test_files:
|
191
202
|
- test/bitpos_test.rb
|
192
203
|
- test/blocking_commands_test.rb
|
204
|
+
- test/client_test.rb
|
193
205
|
- test/command_map_test.rb
|
194
206
|
- test/commands_on_hashes_test.rb
|
195
207
|
- test/commands_on_hyper_log_log_test.rb
|
@@ -242,10 +254,20 @@ test_files:
|
|
242
254
|
- test/sentinel_command_test.rb
|
243
255
|
- test/sentinel_test.rb
|
244
256
|
- test/sorting_test.rb
|
257
|
+
- test/ssl_test.rb
|
245
258
|
- test/support/connection/hiredis.rb
|
246
259
|
- test/support/connection/ruby.rb
|
247
260
|
- test/support/connection/synchrony.rb
|
248
261
|
- test/support/redis_mock.rb
|
262
|
+
- test/support/ssl/gen_certs.sh
|
263
|
+
- test/support/ssl/trusted-ca.crt
|
264
|
+
- test/support/ssl/trusted-ca.key
|
265
|
+
- test/support/ssl/trusted-cert.crt
|
266
|
+
- test/support/ssl/trusted-cert.key
|
267
|
+
- test/support/ssl/untrusted-ca.crt
|
268
|
+
- test/support/ssl/untrusted-ca.key
|
269
|
+
- test/support/ssl/untrusted-cert.crt
|
270
|
+
- test/support/ssl/untrusted-cert.key
|
249
271
|
- test/support/wire/synchrony.rb
|
250
272
|
- test/support/wire/thread.rb
|
251
273
|
- test/synchrony_driver.rb
|