class RedisRds::SortedSet
Public Instance Methods
add(score, item)
click to toggle source
# File lib/redis_rds/sorted_set.rb, line 5 def add(score, item) return connection.zadd(@redis_key, score, item) end
all()
click to toggle source
# File lib/redis_rds/sorted_set.rb, line 15 def all return connection.zrange(@redis_key, 0, -1).to_a end
each(&block)
click to toggle source
TODO: Implement lazy enumerator
# File lib/redis_rds/sorted_set.rb, line 57 def each(&block) return all.each(&block) end
empty?()
click to toggle source
# File lib/redis_rds/sorted_set.rb, line 19 def empty? return size == 0 end
include?(item)
click to toggle source
# File lib/redis_rds/sorted_set.rb, line 27 def include?(item) return !index_of(item).nil? end
index_of(item)
click to toggle source
# File lib/redis_rds/sorted_set.rb, line 48 def index_of(item) return connection.zrank(@redis_key, item) end
push(item)
click to toggle source
# File lib/redis_rds/sorted_set.rb, line 9 def push(item) index = size return add(index, item) end
Also aliased as: <<
range(min, max, order: :asc)
click to toggle source
# File lib/redis_rds/sorted_set.rb, line 39 def range(min, max, order: :asc) case order when :desc connection.zrevrange(@redis_key, min, max) else connection.zrange(@redis_key, min, max) end end
remove(item)
click to toggle source
# File lib/redis_rds/sorted_set.rb, line 31 def remove(item) return connection.zrem(@redis_key, item) end
remove_by_score(min, max)
click to toggle source
# File lib/redis_rds/sorted_set.rb, line 35 def remove_by_score(min, max) return connection.zremrangebyscore(@redis_key, min, max) end
size()
click to toggle source
# File lib/redis_rds/sorted_set.rb, line 23 def size return connection.zcard(@redis_key) end
to_json()
click to toggle source
# File lib/redis_rds/sorted_set.rb, line 52 def to_json return all.to_json end