Module: Oxblood::Commands::Sets
- Included in:
- Oxblood::Commands
- Defined in:
- lib/oxblood/commands/sets.rb
Instance Method Summary collapse
-
#sadd(key, *members) ⇒ Integer
Add one or more members to a set.
-
#scard(key) ⇒ Integer
Get the number of members in a set.
-
#sdiff(*keys) ⇒ Array
Subtract multiple sets.
-
#sdiffstore(destination, *keys) ⇒ Integer
Subtract multiple sets and store the resulting set in a key.
-
#sinter(*keys) ⇒ Array
Intersect multiple sets.
-
#sinterstore(destination, *keys) ⇒ Integer
Intersect multiple sets and store the resulting key in a key.
-
#sismember(key, member) ⇒ Integer
Determine if a given value is a member of a set.
-
#smembers(key) ⇒ Array
Get all the members in a set.
-
#smove(source, destination, member) ⇒ Integer
Move a member from one set to another.
-
#spop(key, count = nil) ⇒ String, Array
Remove and return one or multiple random members from a set.
-
#srandmember(key, count = nil) ⇒ String, ...
Get one or multiple random members from a set.
-
#srem(key, *members) ⇒ Integer
Remove one or more members from a set.
-
#sunion(*keys) ⇒ Array
Add multiple sets.
-
#sunionstore(destination, *keys) ⇒ Integer
Add multipe sets and store the resulting set in a key.
Instance Method Details
#sadd(key, *members) ⇒ Integer
Add one or more members to a set
12 13 14 |
# File 'lib/oxblood/commands/sets.rb', line 12 def sadd(key, *members) run(*members.unshift(:SADD, key)) end |
#scard(key) ⇒ Integer
Get the number of members in a set
23 24 25 |
# File 'lib/oxblood/commands/sets.rb', line 23 def scard(key) run(:SCARD, key) end |
#sdiff(*keys) ⇒ Array
Subtract multiple sets
33 34 35 |
# File 'lib/oxblood/commands/sets.rb', line 33 def sdiff(*keys) run(*keys.unshift(:SDIFF)) end |
#sdiffstore(destination, *keys) ⇒ Integer
Subtract multiple sets and store the resulting set in a key
44 45 46 |
# File 'lib/oxblood/commands/sets.rb', line 44 def sdiffstore(destination, *keys) run(*keys.unshift(:SDIFFSTORE, destination)) end |
#sinter(*keys) ⇒ Array
Intersect multiple sets
54 55 56 |
# File 'lib/oxblood/commands/sets.rb', line 54 def sinter(*keys) run(*keys.unshift(:SINTER)) end |
#sinterstore(destination, *keys) ⇒ Integer
Intersect multiple sets and store the resulting key in a key
65 66 67 |
# File 'lib/oxblood/commands/sets.rb', line 65 def sinterstore(destination, *keys) run(*keys.unshift(:SINTERSTORE, destination)) end |
#sismember(key, member) ⇒ Integer
Determine if a given value is a member of a set
77 78 79 |
# File 'lib/oxblood/commands/sets.rb', line 77 def sismember(key, member) run(:SISMEMBER, key, member) end |
#smembers(key) ⇒ Array
Get all the members in a set
87 88 89 |
# File 'lib/oxblood/commands/sets.rb', line 87 def smembers(key) run(:SMEMBERS, key) end |
#smove(source, destination, member) ⇒ Integer
Move a member from one set to another
100 101 102 |
# File 'lib/oxblood/commands/sets.rb', line 100 def smove(source, destination, member) run(:SMOVE, source, destination, member) end |
#spop(key, count = nil) ⇒ String, Array
Remove and return one or multiple random members from a set
115 116 117 118 119 |
# File 'lib/oxblood/commands/sets.rb', line 115 def spop(key, count = nil) args = [:SPOP, key] args << count if count run(*args) end |
#srandmember(key, count = nil) ⇒ String, ...
Get one or multiple random members from a set
132 133 134 135 136 |
# File 'lib/oxblood/commands/sets.rb', line 132 def srandmember(key, count = nil) args = [:SRANDMEMBER, key] args << count if count run(*args) end |
#srem(key, *members) ⇒ Integer
Remove one or more members from a set
146 147 148 |
# File 'lib/oxblood/commands/sets.rb', line 146 def srem(key, *members) run(*members.unshift(:SREM, key)) end |
#sunion(*keys) ⇒ Array
Add multiple sets
156 157 158 |
# File 'lib/oxblood/commands/sets.rb', line 156 def sunion(*keys) run(*keys.unshift(:SUNION)) end |
#sunionstore(destination, *keys) ⇒ Integer
Add multipe sets and store the resulting set in a key
167 168 169 |
# File 'lib/oxblood/commands/sets.rb', line 167 def sunionstore(destination, *keys) run(*keys.unshift(:SUNIONSTORE, destination)) end |