class Rudis::ZSet

Public Instance Methods

<<(member, score=1)
Alias for: add
[](val) click to toggle source
# File lib/rudis/structures/zset.rb, line 70
def [](val)
  if val.is_a? Range
    range(val)
  else
    self[val..val]
  end
end
Also aliased as: slice
add(member, score=1) click to toggle source
# File lib/rudis/structures/zset.rb, line 14
def add(member, score=1)
  redis.zadd(key, score_type.put(score), type.put(member))
end
Also aliased as: <<
all() click to toggle source
# File lib/rudis/structures/zset.rb, line 79
def all
  range(0..-1)
end
Also aliased as: to_a
card() click to toggle source
# File lib/rudis/structures/zset.rb, line 36
def card
  redis.zcard(key)
end
Also aliased as: size, length, count
count()
Alias for: card
default_options() click to toggle source
# File lib/rudis/structures/zset.rb, line 3
def default_options
  {
    :type => DefaultType,
    :score_type => IntegerType
  }
end
empty?() click to toggle source
# File lib/rudis/structures/zset.rb, line 43
def empty?
  card == 0
end
first() click to toggle source
# File lib/rudis/structures/zset.rb, line 84
def first
  self[0..0].first
end
include?(val)
Alias for: member?
incr(member) click to toggle source
# File lib/rudis/structures/zset.rb, line 27
def incr(member)
  incrby(member, 1)
end
incrby(member, i) click to toggle source
# File lib/rudis/structures/zset.rb, line 23
def incrby(member, i)
  redis.zincrby(key, i.to_i, member)
end
last() click to toggle source
# File lib/rudis/structures/zset.rb, line 88
def last
  self[-1..-1].first
end
length()
Alias for: card
member?(val) click to toggle source
# File lib/rudis/structures/zset.rb, line 97
def member?(val)
  !score(val).nil?
end
Also aliased as: include?
range(ran) click to toggle source
# File lib/rudis/structures/zset.rb, line 47
def range(ran)
  redis.zrange(key, ran.first.to_i, ran.last.to_i).map do |e|
    type.get(e)
  end
end
range_by_score(min, max)
Alias for: rangebyscore
rangebyscore(min, max) click to toggle source
# File lib/rudis/structures/zset.rb, line 60
def rangebyscore(min, max)
  redis.zrangebyscore(key,
    score_type.put(min),
    score_type.put(max)
  ).map do |e|
    type.get(e)
  end
end
Also aliased as: range_by_score
rank(member) click to toggle source
# File lib/rudis/structures/zset.rb, line 31
def rank(member)
  i = redis.zrank(key, member)
  i && i.to_i
end
rem(member) click to toggle source
# File lib/rudis/structures/zset.rb, line 19
def rem(member)
  redis.zrem(key, type.put(member))
end
rev_range(ran)
Alias for: revrange
revrange(ran) click to toggle source
# File lib/rudis/structures/zset.rb, line 53
def revrange(ran)
  redis.zrevrange(key, ran.first.to_i, ran.last.to_i).map do |e|
    type.get(e)
  end
end
Also aliased as: rev_range
score(member) click to toggle source
# File lib/rudis/structures/zset.rb, line 92
def score(member)
  s = redis.zscore(key, type.put(member))
  s && score_type.get(s)
end
score_type() click to toggle source
# File lib/rudis/structures/zset.rb, line 10
def score_type
  @options[:score_type]
end
size()
Alias for: card
slice(val)
Alias for: []
to_a()
Alias for: all