Module: Oxblood::Commands::SortedSets
- Included in:
- Oxblood::Commands
- Defined in:
- lib/oxblood/commands/sorted_sets.rb
Instance Method Summary collapse
-
#zadd(key, *args, **opts) ⇒ Integer
Add one or more members to a sorted set, or update its score if it already exists.
-
#zcard(key) ⇒ Integer
Get the number of members in a sorted set.
-
#zcount(key, min, max) ⇒ Integer
Count the members in a sorted set with scores within the given values.
-
#zincrby(key, increment, member) ⇒ String
Increment the score of a member in a sorted set.
-
#zinterstore(destination, numkeys, *keys, **opts) ⇒ Integer
Intersect multiple sorted sets and store the resulting sorted set in a new key.
-
#zlexcount(key, min, max) ⇒ Object
Count the number of members in a sorted set between a given lexicographical range.
-
#zrange(key, start, stop, opts = {}) ⇒ Array
Return a range of members in a sorted set, by index.
-
#zrangebylex(key, min, max, opts = {}) ⇒ Array<String>
Return a range of members in a sorted set, by lexicographical range.
-
#zrangebyscore(key, min, max, opts = {}) ⇒ Array
Return a range of members in a sorted set, by score.
-
#zrank(key, member) ⇒ Integer?
Determine the index of a member in a sorted set in the sorted set or key does not exist.
-
#zrem(key, *members) ⇒ Integer, RError
Remove one or more members from a sorted set.
-
#zremrangebylex(key, min, max) ⇒ Integer
Remove all members in a sorted set between the given lexicographical range.
-
#zremrangebyrank(key, start, stop) ⇒ Integer
Remove all members in a sorted set within the given indexes.
-
#zremrangebyscore(key, min, max) ⇒ Integer
Remove all members in a sorted set within the given scores.
-
#zrevrange(key, start, stop, opts = {}) ⇒ Array
Return a range of members in a sorted set, by index, with scores ordered from high to low.
-
#zrevrangebylex(key, min, max, opts = {}) ⇒ Array<String>
Return a range of members in a sorted set, by lexicographical range, ordered from higher to lower strings.
-
#zrevrangebyscore(key, min, max, opts = {}) ⇒ Array
Return a range of members in a sorted set, by score, with scores ordered from high to low.
-
#zrevrank(key, member) ⇒ Integer?
Determine the index of a member in a sorted set, with scores ordered from high to low exists in the sorted set or key does not exists.
-
#zscan(key, cursor, opts = {}) ⇒ Array
Incrementally iterate sorted sets elements and associated scores.
-
#zscore(key, member) ⇒ String?
Get the score associated with the given member in a sorted set point number), represented as string, or nil if member does not exist in the sorted set, or key does not exists.
-
#zunionstore(destination, numkeys, *keys, **opts) ⇒ Integer
Add multiple sorted sets and store the resulting sorted set in a new key.
Instance Method Details
#zadd(key, *args, **opts) ⇒ Integer
Add support for zadd options redis.io/commands/zadd#zadd-options-redis-302-or-greater
Add one or more members to a sorted set, or update its score if it already exists.
28 29 30 31 32 33 34 35 |
# File 'lib/oxblood/commands/sorted_sets.rb', line 28 def zadd(key, *args, **opts) args.unshift(:XX) if opts[:xx] args.unshift(:NX) if opts[:nx] args.unshift(:CH) if opts[:ch] args.unshift(:INCR) if opts[:incr] run(*args.unshift(:ZADD, key)) end |
#zcard(key) ⇒ Integer
Get the number of members in a sorted set
44 45 46 |
# File 'lib/oxblood/commands/sorted_sets.rb', line 44 def zcard(key) run(:ZCARD, key) end |
#zcount(key, min, max) ⇒ Integer
Count the members in a sorted set with scores within the given values
56 57 58 |
# File 'lib/oxblood/commands/sorted_sets.rb', line 56 def zcount(key, min, max) run(:ZCOUNT, key, min, max) end |
#zincrby(key, increment, member) ⇒ String
Increment the score of a member in a sorted set
69 70 71 |
# File 'lib/oxblood/commands/sorted_sets.rb', line 69 def zincrby(key, increment, member) run(:ZINCRBY, key, increment, member) end |
#zinterstore(destination, numkeys, *keys, **opts) ⇒ Integer
Intersect multiple sorted sets and store the resulting sorted set in
a new key.
375 376 377 |
# File 'lib/oxblood/commands/sorted_sets.rb', line 375 def zinterstore(destination, numkeys, *keys, **opts) common_store(:ZINTERSTORE, destination, numkeys, keys, opts) end |
#zlexcount(key, min, max) ⇒ Object
Count the number of members in a sorted set between a given lexicographical range
127 128 129 |
# File 'lib/oxblood/commands/sorted_sets.rb', line 127 def zlexcount(key, min, max) run(:ZLEXCOUNT, key, min, max) end |
#zrange(key, start, stop, opts = {}) ⇒ Array
Return a range of members in a sorted set, by index
152 153 154 |
# File 'lib/oxblood/commands/sorted_sets.rb', line 152 def zrange(key, start, stop, opts = {}) common_range(:ZRANGE, key, start, stop, opts) end |
#zrangebylex(key, min, max, opts = {}) ⇒ Array<String>
Return a range of members in a sorted set, by lexicographical range.
85 86 87 |
# File 'lib/oxblood/commands/sorted_sets.rb', line 85 def zrangebylex(key, min, max, opts = {}) common_rangebylex(:ZRANGEBYLEX, key, min, max, opts) end |
#zrangebyscore(key, min, max, opts = {}) ⇒ Array
Return a range of members in a sorted set, by score
184 185 186 |
# File 'lib/oxblood/commands/sorted_sets.rb', line 184 def zrangebyscore(key, min, max, opts = {}) common_rangebyscore(:ZRANGEBYSCORE, key, min, max, opts) end |
#zrank(key, member) ⇒ Integer?
Determine the index of a member in a sorted set in the sorted set or key does not exist
196 197 198 |
# File 'lib/oxblood/commands/sorted_sets.rb', line 196 def zrank(key, member) run(:ZRANK, key, member) end |
#zrem(key, *members) ⇒ Integer, RError
Remove one or more members from a sorted set
208 209 210 |
# File 'lib/oxblood/commands/sorted_sets.rb', line 208 def zrem(key, *members) run(*members.unshift(:ZREM, key)) end |
#zremrangebylex(key, min, max) ⇒ Integer
Remove all members in a sorted set between the given lexicographical range.
97 98 99 |
# File 'lib/oxblood/commands/sorted_sets.rb', line 97 def zremrangebylex(key, min, max) run(:ZREMRANGEBYLEX, key, min, max) end |
#zremrangebyrank(key, start, stop) ⇒ Integer
Remove all members in a sorted set within the given indexes
220 221 222 |
# File 'lib/oxblood/commands/sorted_sets.rb', line 220 def zremrangebyrank(key, start, stop) run(:ZREMRANGEBYRANK, key, start, stop) end |
#zremrangebyscore(key, min, max) ⇒ Integer
Remove all members in a sorted set within the given scores
232 233 234 |
# File 'lib/oxblood/commands/sorted_sets.rb', line 232 def zremrangebyscore(key, min, max) run(:ZREMRANGEBYSCORE, key, min, max) end |
#zrevrange(key, start, stop, opts = {}) ⇒ Array
Return a range of members in a sorted set, by index, with scores ordered from high to low
258 259 260 |
# File 'lib/oxblood/commands/sorted_sets.rb', line 258 def zrevrange(key, start, stop, opts = {}) common_range(:ZREVRANGE, key, start, stop, opts) end |
#zrevrangebylex(key, min, max, opts = {}) ⇒ Array<String>
Return a range of members in a sorted set, by lexicographical range, ordered from higher to lower strings.
114 115 116 |
# File 'lib/oxblood/commands/sorted_sets.rb', line 114 def zrevrangebylex(key, min, max, opts = {}) common_rangebylex(:ZREVRANGEBYLEX, key, min, max, opts) end |
#zrevrangebyscore(key, min, max, opts = {}) ⇒ Array
Return a range of members in a sorted set, by score, with scores ordered from high to low
291 292 293 |
# File 'lib/oxblood/commands/sorted_sets.rb', line 291 def zrevrangebyscore(key, min, max, opts = {}) common_rangebyscore(:ZREVRANGEBYSCORE, key, min, max, opts) end |
#zrevrank(key, member) ⇒ Integer?
Determine the index of a member in a sorted set, with scores ordered from high to low exists in the sorted set or key does not exists
304 305 306 |
# File 'lib/oxblood/commands/sorted_sets.rb', line 304 def zrevrank(key, member) run(:ZREVRANK, key, member) end |
#zscan(key, cursor, opts = {}) ⇒ Array
Incrementally iterate sorted sets elements and associated scores
334 335 336 337 338 |
# File 'lib/oxblood/commands/sorted_sets.rb', line 334 def zscan(key, cursor, opts = {}) args = [:ZSCAN, key, cursor] Scan.merge_opts!(args, opts) run(*args) end |
#zscore(key, member) ⇒ String?
Get the score associated with the given member in a sorted set point number), represented as string, or nil if member does not exist in the sorted set, or key does not exists
317 318 319 |
# File 'lib/oxblood/commands/sorted_sets.rb', line 317 def zscore(key, member) run(:ZSCORE, key, member) end |
#zunionstore(destination, numkeys, *keys, **opts) ⇒ Integer
Add multiple sorted sets and store the resulting sorted set in a new key
355 356 357 |
# File 'lib/oxblood/commands/sorted_sets.rb', line 355 def zunionstore(destination, numkeys, *keys, **opts) common_store(:ZUNIONSTORE, destination, numkeys, keys, opts) end |