Class: SidekiqUniqueJobs::Redis::SortedSet
- Defined in:
- lib/sidekiq_unique_jobs/redis/sorted_set.rb
Overview
Class SortedSet provides convenient access to redis sorted sets
Instance Attribute Summary
Attributes inherited from Entity
Instance Method Summary collapse
-
#add(values) ⇒ Boolean, Integer
Adds a value to the sorted set.
-
#clear ⇒ Integer
Clears the sorted set from all entries.
-
#count ⇒ Integer
Returns the count for this sorted set.
-
#entries(with_scores: true) ⇒ Array<Object>, Hash
Return entries for this sorted set.
-
#rank(member) ⇒ Integer
Return the zrak of the member.
-
#score(member) ⇒ Integer, Float
Return score for a member.
Methods inherited from Entity
#exist?, #expires?, #initialize, #pttl, #ttl
Methods included from Timing
clock_stamp, now_f, time_source, timed
Methods included from JSON
dump_json, load_json, safe_load_json
Methods included from Script::Caller
call_script, debug_lua, do_call, extract_args, max_history, now_f, redis_version
Methods included from Logging
#build_message, included, #log_debug, #log_error, #log_fatal, #log_info, #log_warn, #logger, #logging_context, #with_configured_loggers_context, #with_logging_context
Constructor Details
This class inherits a constructor from SidekiqUniqueJobs::Redis::Entity
Instance Method Details
#add(values) ⇒ Boolean, Integer
Adds a value to the sorted set
33 34 35 36 37 38 39 40 41 |
# File 'lib/sidekiq_unique_jobs/redis/sorted_set.rb', line 33 def add(values) redis do |conn| if values.is_a?(Array) conn.zadd(key, values) else conn.zadd(key, now_f, values) end end end |
#clear ⇒ Integer
Clears the sorted set from all entries
71 72 73 |
# File 'lib/sidekiq_unique_jobs/redis/sorted_set.rb', line 71 def clear redis { |conn| conn.zremrangebyrank(key, 0, count) } end |
#count ⇒ Integer
Returns the count for this sorted set
81 82 83 |
# File 'lib/sidekiq_unique_jobs/redis/sorted_set.rb', line 81 def count redis { |conn| conn.zcard(key) } end |
#entries(with_scores: true) ⇒ Array<Object>, Hash
Return entries for this sorted set
19 20 21 22 23 24 |
# File 'lib/sidekiq_unique_jobs/redis/sorted_set.rb', line 19 def entries(with_scores: true) entrys = redis { |conn| conn.zrange(key, 0, -1, with_scores: with_scores) } return entrys unless with_scores entrys.each_with_object({}) { |pair, hash| hash[pair[0]] = pair[1] } end |
#rank(member) ⇒ Integer
Return the zrak of the member
50 51 52 |
# File 'lib/sidekiq_unique_jobs/redis/sorted_set.rb', line 50 def rank(member) redis { |conn| conn.zrank(key, member) } end |
#score(member) ⇒ Integer, Float
Return score for a member
61 62 63 |
# File 'lib/sidekiq_unique_jobs/redis/sorted_set.rb', line 61 def score(member) redis { |conn| conn.zscore(key, member) } end |