redi2casa 0.0.3 → 0.0.4
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 +7 -0
- data/Changes.md +18 -0
- data/Examples.md +52 -0
- data/README.md +11 -11
- data/cqlsh_cmds +2 -0
- data/lib/redi2casa/del.rb +6 -0
- data/lib/redi2casa/get.rb +6 -0
- data/lib/redi2casa/sadd.rb +5 -0
- data/lib/redi2casa/sadd_with_expire.rb +5 -0
- data/lib/redi2casa/set.rb +5 -0
- data/lib/redi2casa/setex.rb +5 -0
- data/lib/redi2casa/smembers.rb +6 -0
- data/lib/redi2casa/spop.rb +9 -0
- data/lib/redi2casa/srem.rb +5 -0
- data/lib/redi2casa/version.rb +1 -1
- data/redi2casa.gemspec +1 -1
- metadata +27 -31
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 687c3c2c393c650329494de0b2b9768cef684f2f
|
4
|
+
data.tar.gz: 91f6d292884b3270a5ec8be1ce40d904bc68d851
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 2e3b99361d8f29511f3d4d5a4a84045a5ff80ec0fe292480ef1924c7fe75dcc931510770a89865dd8dc6bbe73cfac54bf05c17400f3d96c96e79645b2bac784d
|
7
|
+
data.tar.gz: c82d6e0646d02d0d9efe12be7c596cb19772afa6aaa20ac28a53f1709287fc227320f6554cca2144ac301b48cc58ce1b18ddb09c5122bfb2b1da541cf4613ebd
|
data/Changes.md
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
0.0.4
|
2
|
+
-------
|
3
|
+
|
4
|
+
- Support for key-value pairs with expiry
|
5
|
+
commands supported - [set, get, setex]
|
6
|
+
|
7
|
+
- Support for set operations
|
8
|
+
commands supported - [sadd, smembers, spop, srem]
|
9
|
+
command supported (not supported by redis) - [sadd_with_expire] for expiring individual elements in a set
|
10
|
+
|
11
|
+
0.0.3
|
12
|
+
-------
|
13
|
+
|
14
|
+
- Support hash operations
|
15
|
+
commands supported - [hgetall, hincrby, hget, hset]
|
16
|
+
|
17
|
+
- Support list operations
|
18
|
+
commands supported - [lpopm, ltrim, lpush, lrange, rpop, rpush]
|
data/Examples.md
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
r = Redi2casa.new([localhost], 'redi2casa')
|
2
|
+
|
3
|
+
|
4
|
+
# Do not mix counters and non-counter values in a single Hash
|
5
|
+
|
6
|
+
Hash - counters
|
7
|
+
---------------
|
8
|
+
|
9
|
+
Increment: r.hicnrby "c", "e", 10
|
10
|
+
r.hget "c", "e" => 10
|
11
|
+
Decrement: r.hincrby "c", "e", -10
|
12
|
+
r.hget "c", "e" => 0
|
13
|
+
r.hincrby "c", "a", 100
|
14
|
+
|
15
|
+
r.hgetall "c" => { "a" => 100, "e" => 0 }
|
16
|
+
|
17
|
+
## r.hset does not work for counters as yet ##
|
18
|
+
|
19
|
+
Hash - Non-counters
|
20
|
+
-------------------
|
21
|
+
|
22
|
+
r.hset "a", "b", "hello_world"
|
23
|
+
r.hset "a", "b", "bye_world"
|
24
|
+
r.hget "a", "b" => "hello_world"
|
25
|
+
|
26
|
+
r.hgetall "a" => {"a" => "hello_world", "b" => "bye_world"}
|
27
|
+
|
28
|
+
List
|
29
|
+
-----
|
30
|
+
|
31
|
+
r.lpush "a", "hello"
|
32
|
+
r.lpush "a", "hello1"
|
33
|
+
r.rpush "a", "hello3"
|
34
|
+
|
35
|
+
r.lrange "a", 0, -1 => ["hello", "hello1", "hello3"]
|
36
|
+
r.lpop "a" => "hello"
|
37
|
+
r.lrange "a", 0, -1 => ["hello1", "hello3"]
|
38
|
+
|
39
|
+
r.rpop "a" => "hello3"
|
40
|
+
r.lrange "a", 0, -1 => ["hello1"]
|
41
|
+
|
42
|
+
|
43
|
+
Key-value pairs
|
44
|
+
---------------
|
45
|
+
|
46
|
+
r.set "a", "welcome"
|
47
|
+
r.get "a" => "welcome"
|
48
|
+
|
49
|
+
r.setex "a", 10, "c"
|
50
|
+
r.get "a" => "c"
|
51
|
+
### after 10 seconds
|
52
|
+
r.get "a" => nil
|
data/README.md
CHANGED
@@ -1,31 +1,31 @@
|
|
1
|
-
# Redi2casa <a href="http://badge.fury.io/rb/redi2casa"><img src="https://badge.fury.io/rb/redi2casa@2x.png" alt="Gem Version" height="18"></a>
|
2
|
-
|
3
|
-
Redis datastructures using Cassandra.
|
1
|
+
# Redi2casa <a href="http://badge.fury.io/rb/redi2casa"><img src="https://badge.fury.io/rb/redi2casa@2x.png" alt="Gem Version" height="18"></a>
|
2
|
+
|
3
|
+
Redis datastructures using Cassandra.
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
7
7
|
$ gem install redi2casa
|
8
8
|
|
9
|
-
#### Configuring cassandra
|
9
|
+
#### Configuring cassandra
|
10
10
|
|
11
11
|
###### You need to install cassandra-2.0.x (please follow these instructions, https://gist.github.com/vireshas/7462447)
|
12
12
|
|
13
|
-
From the cloned location execute:
|
13
|
+
From the cloned location execute:
|
14
14
|
cqlsh -f cqlsh_cmds --debug
|
15
15
|
cassandra-cli -k redi2casa -f cassandra_cli_cmds
|
16
16
|
|
17
17
|
## Usage
|
18
18
|
|
19
19
|
require "redi2casa"
|
20
|
-
r = Redi2casa.new ["localhost"], 'redi2casa'
|
21
|
-
|
20
|
+
r = Redi2casa.new ["localhost"], 'redi2casa'
|
21
|
+
|
22
22
|
Available: [hset, hget, hincrby, lpush, ltrim, lpop, lrange, rpush, rpop]
|
23
23
|
|
24
|
-
You should be passing an extra param(hash) when you call hget to retrieve a hash
|
24
|
+
You should be passing an extra param(hash) when you call hget to retrieve a hash
|
25
25
|
r.hset "a", "b", "hello_world"
|
26
|
-
r.hget "a", "b", "hash" #the last parameter is needed at the moment
|
27
|
-
|
28
|
-
You can find more examples here: https://gist.github.com/vireshas/99bc322cf0ac42fbf7ee
|
26
|
+
r.hget "a", "b", "hash" #the last parameter is needed at the moment
|
27
|
+
|
28
|
+
You can find more examples here: https://gist.github.com/vireshas/99bc322cf0ac42fbf7ee
|
29
29
|
|
30
30
|
## Contributing
|
31
31
|
|
data/cqlsh_cmds
CHANGED
@@ -2,3 +2,5 @@ CREATE KEYSPACE redi2casa WITH replication = {'class': 'SimpleStrategy', 'replic
|
|
2
2
|
use redi2casa;
|
3
3
|
create table hashes(namespace text primary key, key map<text, text>);
|
4
4
|
create table lists(namespace text primary key, values list<text>);
|
5
|
+
create table keyvalue(key text primary key, value text);
|
6
|
+
create table sets(key text primary key, value set<text>);
|
data/lib/redi2casa/version.rb
CHANGED
data/redi2casa.gemspec
CHANGED
@@ -6,7 +6,7 @@ require 'redi2casa/version'
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = "redi2casa"
|
8
8
|
spec.version = Redi2casa::VERSION
|
9
|
-
spec.authors = ["vireshas"]
|
9
|
+
spec.authors = ["vireshas", "rajofchennai"]
|
10
10
|
spec.email = ["asviresh@gmail.com"]
|
11
11
|
spec.description = %q{Providing Redis data-structures using Cassandra}
|
12
12
|
spec.summary = %q{Moving redis calls to equivalent cassandra calls can be a pain unless you use this gem}
|
metadata
CHANGED
@@ -1,78 +1,70 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redi2casa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.4
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- vireshas
|
8
|
+
- rajofchennai
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-11-
|
12
|
+
date: 2013-11-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: cql-rb
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
17
|
requirements:
|
19
|
-
- -
|
18
|
+
- - '>='
|
20
19
|
- !ruby/object:Gem::Version
|
21
20
|
version: '0'
|
22
21
|
type: :runtime
|
23
22
|
prerelease: false
|
24
23
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
24
|
requirements:
|
27
|
-
- -
|
25
|
+
- - '>='
|
28
26
|
- !ruby/object:Gem::Version
|
29
27
|
version: '0'
|
30
28
|
- !ruby/object:Gem::Dependency
|
31
29
|
name: cql-rb
|
32
30
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
31
|
requirements:
|
35
|
-
- -
|
32
|
+
- - '>='
|
36
33
|
- !ruby/object:Gem::Version
|
37
34
|
version: '0'
|
38
35
|
type: :development
|
39
36
|
prerelease: false
|
40
37
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
38
|
requirements:
|
43
|
-
- -
|
39
|
+
- - '>='
|
44
40
|
- !ruby/object:Gem::Version
|
45
41
|
version: '0'
|
46
42
|
- !ruby/object:Gem::Dependency
|
47
43
|
name: bundler
|
48
44
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
45
|
requirements:
|
51
|
-
- -
|
46
|
+
- - '>='
|
52
47
|
- !ruby/object:Gem::Version
|
53
48
|
version: '0'
|
54
49
|
type: :development
|
55
50
|
prerelease: false
|
56
51
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
52
|
requirements:
|
59
|
-
- -
|
53
|
+
- - '>='
|
60
54
|
- !ruby/object:Gem::Version
|
61
55
|
version: '0'
|
62
56
|
- !ruby/object:Gem::Dependency
|
63
57
|
name: rake
|
64
58
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
59
|
requirements:
|
67
|
-
- -
|
60
|
+
- - '>='
|
68
61
|
- !ruby/object:Gem::Version
|
69
62
|
version: '0'
|
70
63
|
type: :development
|
71
64
|
prerelease: false
|
72
65
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
66
|
requirements:
|
75
|
-
- -
|
67
|
+
- - '>='
|
76
68
|
- !ruby/object:Gem::Version
|
77
69
|
version: '0'
|
78
70
|
description: Providing Redis data-structures using Cassandra
|
@@ -83,6 +75,8 @@ extensions: []
|
|
83
75
|
extra_rdoc_files: []
|
84
76
|
files:
|
85
77
|
- .gitignore
|
78
|
+
- Changes.md
|
79
|
+
- Examples.md
|
86
80
|
- Gemfile
|
87
81
|
- Gemfile.lock
|
88
82
|
- LICENSE.txt
|
@@ -91,6 +85,8 @@ files:
|
|
91
85
|
- cassandra_cli_cmds
|
92
86
|
- cqlsh_cmds
|
93
87
|
- lib/redi2casa.rb
|
88
|
+
- lib/redi2casa/del.rb
|
89
|
+
- lib/redi2casa/get.rb
|
94
90
|
- lib/redi2casa/hget.rb
|
95
91
|
- lib/redi2casa/hgetall.rb
|
96
92
|
- lib/redi2casa/hincrby.rb
|
@@ -101,38 +97,38 @@ files:
|
|
101
97
|
- lib/redi2casa/ltrim.rb
|
102
98
|
- lib/redi2casa/rpop.rb
|
103
99
|
- lib/redi2casa/rpush.rb
|
100
|
+
- lib/redi2casa/sadd.rb
|
101
|
+
- lib/redi2casa/sadd_with_expire.rb
|
102
|
+
- lib/redi2casa/set.rb
|
103
|
+
- lib/redi2casa/setex.rb
|
104
|
+
- lib/redi2casa/smembers.rb
|
105
|
+
- lib/redi2casa/spop.rb
|
106
|
+
- lib/redi2casa/srem.rb
|
104
107
|
- lib/redi2casa/version.rb
|
105
108
|
- redi2casa.gemspec
|
106
109
|
homepage: https://github.com/vireshas/redi2casa
|
107
110
|
licenses:
|
108
111
|
- MIT
|
112
|
+
metadata: {}
|
109
113
|
post_install_message:
|
110
114
|
rdoc_options: []
|
111
115
|
require_paths:
|
112
116
|
- lib
|
113
117
|
required_ruby_version: !ruby/object:Gem::Requirement
|
114
|
-
none: false
|
115
118
|
requirements:
|
116
|
-
- -
|
119
|
+
- - '>='
|
117
120
|
- !ruby/object:Gem::Version
|
118
121
|
version: '0'
|
119
|
-
segments:
|
120
|
-
- 0
|
121
|
-
hash: 1475517929010687912
|
122
122
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
123
|
-
none: false
|
124
123
|
requirements:
|
125
|
-
- -
|
124
|
+
- - '>='
|
126
125
|
- !ruby/object:Gem::Version
|
127
126
|
version: '0'
|
128
|
-
segments:
|
129
|
-
- 0
|
130
|
-
hash: 1475517929010687912
|
131
127
|
requirements: []
|
132
128
|
rubyforge_project:
|
133
|
-
rubygems_version: 1.
|
129
|
+
rubygems_version: 2.1.11
|
134
130
|
signing_key:
|
135
|
-
specification_version:
|
131
|
+
specification_version: 4
|
136
132
|
summary: Moving redis calls to equivalent cassandra calls can be a pain unless you
|
137
133
|
use this gem
|
138
134
|
test_files: []
|