Module: RedisCluster::Function::Set
- Included in:
- RedisCluster::Function
- Defined in:
- lib/redis_cluster/function/set.rb
Overview
Set implement redis sets commands. There will be some adjustment for cluster. see redis.io/commands#set. Most of the code are copied from github.com/redis/redis-rb/blob/master/lib/redis.rb.
SETTER = [:sadd, :spop, :srem, :sdiffstore, :sinterstore, :smove, :sunionstore] GETTER = [:scard, :sismember, :smembers, :srandmember, :sscan, :sdiff, :sinter, :sunion]
Instance Method Summary collapse
-
#sadd(key, member) ⇒ Fixnum
Add one or more members to a set.
-
#scard(key) ⇒ Fixnum
Get the number of members in a set.
-
#sdiff(*keys) ⇒ Array<String>
Subtract multiple sets.
-
#sdiffstore(destination, *keys) ⇒ Fixnum
Subtract multiple sets and store the resulting set in a key.
-
#sinter(*keys) ⇒ Array<String>
Intersect multiple sets.
-
#sinterstore(destination, *keys) ⇒ Fixnum
Intersect multiple sets and store the resulting set in a key.
-
#sismember(key, member) ⇒ Boolean
Determine if a given value is a member of a set.
-
#smembers(key) ⇒ Array<String>
Get all the members in a set.
-
#smove(source, destination, member) ⇒ Boolean
Move a member from one set to another.
-
#spop(key, count = nil) ⇒ String
Remove and return one or more random member from a set.
-
#srandmember(key, count = nil) ⇒ String
Get one or more random members from a set.
-
#srem(key, member) ⇒ Boolean, Fixnum
Remove one or more members from a set.
-
#sunion(*keys) ⇒ Array<String>
Add multiple sets.
-
#sunionstore(destination, *keys) ⇒ Fixnum
Add multiple sets and store the resulting set in a key.
Instance Method Details
#sadd(key, member) ⇒ Fixnum
Add one or more members to a set.
29 30 31 |
# File 'lib/redis_cluster/function/set.rb', line 29 def sadd(key, member) call(key, [:sadd, key, member]) end |
#scard(key) ⇒ Fixnum
Get the number of members in a set.
20 21 22 |
# File 'lib/redis_cluster/function/set.rb', line 20 def scard(key) call(key, [:scard, key], read: true) end |
#sdiff(*keys) ⇒ Array<String>
Subtract multiple sets.
87 88 89 |
# File 'lib/redis_cluster/function/set.rb', line 87 def sdiff(*keys) call(keys, [:sdiff] + keys, read: true) end |
#sdiffstore(destination, *keys) ⇒ Fixnum
Subtract multiple sets and store the resulting set in a key.
96 97 98 |
# File 'lib/redis_cluster/function/set.rb', line 96 def sdiffstore(destination, *keys) call([keys, destination], [:sdiffstore, destination] + keys) end |
#sinter(*keys) ⇒ Array<String>
Intersect multiple sets.
104 105 106 |
# File 'lib/redis_cluster/function/set.rb', line 104 def sinter(*keys) call(keys, [:sinter] + keys, read: true) end |
#sinterstore(destination, *keys) ⇒ Fixnum
Intersect multiple sets and store the resulting set in a key.
113 114 115 |
# File 'lib/redis_cluster/function/set.rb', line 113 def sinterstore(destination, *keys) call([keys, destination], [:sinterstore, destination] + keys) end |
#sismember(key, member) ⇒ Boolean
Determine if a given value is a member of a set.
71 72 73 |
# File 'lib/redis_cluster/function/set.rb', line 71 def sismember(key, member) call(key, [:sismember, key, member], transform: Redis::Boolify, read: true) end |
#smembers(key) ⇒ Array<String>
Get all the members in a set.
79 80 81 |
# File 'lib/redis_cluster/function/set.rb', line 79 def smembers(key) call(key, [:smembers, key], read: true) end |
#smove(source, destination, member) ⇒ Boolean
Move a member from one set to another.
123 124 125 126 127 |
# File 'lib/redis_cluster/function/set.rb', line 123 def smove(source, destination, member) call([source, destination], [:smove, source, destination, member], transform: Redis::Boolify) end |
#spop(key, count = nil) ⇒ String
Remove and return one or more random member from a set.
47 48 49 50 51 52 |
# File 'lib/redis_cluster/function/set.rb', line 47 def spop(key, count = nil) args = [:spop, key] args << count if count call(key, args) end |
#srandmember(key, count = nil) ⇒ String
Get one or more random members from a set.
59 60 61 62 63 64 |
# File 'lib/redis_cluster/function/set.rb', line 59 def srandmember(key, count = nil) args = [:srandmember, key] args << count if count call(key, args, read: true) end |
#srem(key, member) ⇒ Boolean, Fixnum
Remove one or more members from a set.
38 39 40 |
# File 'lib/redis_cluster/function/set.rb', line 38 def srem(key, member) call(key, [:srem, key, member]) end |
#sunion(*keys) ⇒ Array<String>
Add multiple sets.
133 134 135 |
# File 'lib/redis_cluster/function/set.rb', line 133 def sunion(*keys) call(keys, [:sunion] + keys, read: true) end |
#sunionstore(destination, *keys) ⇒ Fixnum
Add multiple sets and store the resulting set in a key.
142 143 144 |
# File 'lib/redis_cluster/function/set.rb', line 142 def sunionstore(destination, *keys) call([keys, destination], [:sunionstore, destination] + keys) end |