redi2casa 0.1.0 → 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/Changes.md +11 -0
- data/cqlsh_cmds +1 -0
- data/lib/redi2casa/del.rb +2 -0
- data/lib/redi2casa/version.rb +1 -1
- data/lib/redi2casa/zadd.rb +6 -0
- data/lib/redi2casa/zrangebyscore.rb +12 -0
- data/lib/redi2casa/zrem.rb +8 -0
- data/lib/redi2casa/zscore.rb +9 -0
- metadata +5 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8864b86636142369894dab69c3571dfc3f6db506
|
4
|
+
data.tar.gz: 5ca0cde38d25a3bf655f14fc5d006ee9ff6dfaf1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 98ea0ef507af4a811aa637e6a22d19a4c5bb100ffe297af047607ef3c82f9fcf012ad435370fa5eead72b38ccbe2d7d465b445432f4b2e2b8afbb1b63dd55a46
|
7
|
+
data.tar.gz: ae9644a1799261a15229ec5fd9c7851c6eeb779e9f7caacb77d4a88005d7d34f849d10a966e92e24e6a0ed6e93147c9cc82892b4b9b9859384ce7f54749a7fab
|
data/Changes.md
CHANGED
data/cqlsh_cmds
CHANGED
@@ -3,3 +3,4 @@ use redi2casa;
|
|
3
3
|
create table lists(namespace text primary key, values list<text>);
|
4
4
|
create table keyvalue(key text primary key, value text);
|
5
5
|
create table sets(key text primary key, members set<text>);
|
6
|
+
create table sorted_sets(key text, score int, value text, random_text text, PRIMARY KEY (key, score, value, random_text));
|
data/lib/redi2casa/del.rb
CHANGED
@@ -11,6 +11,8 @@ class Redi2casa
|
|
11
11
|
@db_conn.execute("delete from lists where key = '#{key}'")
|
12
12
|
elsif type == 'set'
|
13
13
|
@db_conn.execute("delete from sets where key = '#{key}'")
|
14
|
+
elsif type == 'sorted_set'
|
15
|
+
@db_conn.execute("delete from sorted_sets where key = '#{key}'")
|
14
16
|
end
|
15
17
|
end
|
16
18
|
end
|
data/lib/redi2casa/version.rb
CHANGED
@@ -0,0 +1,6 @@
|
|
1
|
+
class Redi2casa
|
2
|
+
# Random text is an extra column added to make sure we have multiple entries with same key, score and value
|
3
|
+
def zadd key, score, value
|
4
|
+
@db_conn.execute("insert into sorted_sets (key, score,value, random_text) values ('#{key}',#{score}, '#{value}', '#{Time.now.to_i}')")
|
5
|
+
end
|
6
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
class Redi2casa
|
2
|
+
def zrangebyscore key, lower_limit, higher_limit = -1
|
3
|
+
if higher_limit == -1
|
4
|
+
resp = @db_conn.execute("select value from sorted_sets where key = '#{key}' and score > #{lower_limit}")
|
5
|
+
else
|
6
|
+
resp = @db_conn.execute("select value from sorted_sets where key = '#{key}' and score > #{lower_limit} and score < #{higher_limit}")
|
7
|
+
end
|
8
|
+
resp.collect do |entry|
|
9
|
+
entry['value']
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
class Redi2casa
|
2
|
+
def zrem key, member
|
3
|
+
resp = @db_conn.execute("select * from sorted_sets where key = '#{key}'")
|
4
|
+
resp.each do |entry|
|
5
|
+
@db_conn.execute("delete from sorted_sets where key = '#{key}' and score = #{entry['score']} and value = '#{entry['value']}'") if entry['value'] == member.to_s
|
6
|
+
end
|
7
|
+
end
|
8
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redi2casa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- vireshas
|
@@ -115,6 +115,10 @@ files:
|
|
115
115
|
- lib/redi2casa/spop.rb
|
116
116
|
- lib/redi2casa/srem.rb
|
117
117
|
- lib/redi2casa/version.rb
|
118
|
+
- lib/redi2casa/zadd.rb
|
119
|
+
- lib/redi2casa/zrangebyscore.rb
|
120
|
+
- lib/redi2casa/zrem.rb
|
121
|
+
- lib/redi2casa/zscore.rb
|
118
122
|
- redi2casa.gemspec
|
119
123
|
homepage: https://github.com/vireshas/redi2casa
|
120
124
|
licenses:
|