redis-asm 0.1 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/redis/asm.rb +5 -2
- data/lib/redis/asm/version.rb +1 -1
- data/spec/redis/asm/asm_spec.rb +5 -4
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d7054ce3e09a761027e2f75aaf034f1b9abe591e
|
4
|
+
data.tar.gz: fa459ae64b62924ad5121a4217b504a871e708a6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e4637bf01355fad9702e31c6c467ba8dfa0288ec2a7556473e313aab7a1815d2a85f2f71ec985882110651adc7f2f5e5a08d39ff3a20916c08ccf9c327d4e74f
|
7
|
+
data.tar.gz: cc01ff641e8f62bf4530ee8833902d186cd9940d47c9197696c6bb750674c2984eda648d41fd09410910bc11f9c3604921b5c12d9b08816bb1587d82c0cf1f0d
|
data/lib/redis/asm.rb
CHANGED
@@ -14,12 +14,15 @@ class Redis
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def search(key, needle, max_results=10)
|
17
|
-
|
17
|
+
begin
|
18
|
+
@redis.evalsha(SHA1, :keys => [key], :argv => [needle, max_results])
|
18
19
|
rescue Exception => e
|
19
20
|
if e.message =~ /NOSCRIPT/
|
20
|
-
@redis.
|
21
|
+
@redis.script(:load, SCRIPT)
|
22
|
+
retry
|
21
23
|
else
|
22
24
|
raise e
|
25
|
+
end
|
23
26
|
end
|
24
27
|
end
|
25
28
|
end
|
data/lib/redis/asm/version.rb
CHANGED
data/spec/redis/asm/asm_spec.rb
CHANGED
@@ -24,10 +24,11 @@ describe Redis::Asm do
|
|
24
24
|
hdata = test_data.inject({}){|ha, k| i += 1; ha.merge(i=>k)}
|
25
25
|
|
26
26
|
redis.pipelined do |r|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
27
|
+
r.script :flush
|
28
|
+
r.sadd SKEY, test_data
|
29
|
+
r.zadd ZKEY, zdata
|
30
|
+
r.mapped_hmset HKEY, hdata
|
31
|
+
test_data.each{|item| r.rpush LKEY,item}
|
31
32
|
end
|
32
33
|
end
|
33
34
|
|