class Familia::HashKey
Public Instance Methods
[](n)
click to toggle source
# File lib/familia/redisobject.rb, line 821 def [] n from_redis redis.hget(rediskey, n) end
Also aliased as: get
[]=(n, v)
click to toggle source
# File lib/familia/redisobject.rb, line 813 def []= n, v ret = redis.hset rediskey, n, to_redis(v) update_expiration ret end
all()
click to toggle source
# File lib/familia/redisobject.rb, line 845 def all # TODO: from_redis redis.hgetall rediskey end
decrement(n, by=1)
click to toggle source
# File lib/familia/redisobject.rb, line 871 def decrement n, by=1 increment n, -by end
delete(n)
click to toggle source
# File lib/familia/redisobject.rb, line 858 def delete n redis.hdel rediskey, n end
empty?()
click to toggle source
# File lib/familia/redisobject.rb, line 809 def empty? size == 0 end
fetch(n, default=nil)
click to toggle source
# File lib/familia/redisobject.rb, line 826 def fetch n, default=nil ret = self[n] if ret.nil? raise IndexError.new("No such index for: #{n}") if default.nil? default else ret end end
has_key?(n)
click to toggle source
# File lib/familia/redisobject.rb, line 852 def has_key? n redis.hexists rediskey, n end
increment(n, by=1)
click to toggle source
# File lib/familia/redisobject.rb, line 865 def increment n, by=1 redis.hincrby(rediskey, n, by).to_i end
keys()
click to toggle source
# File lib/familia/redisobject.rb, line 836 def keys redis.hkeys rediskey end
size()
click to toggle source
# File lib/familia/redisobject.rb, line 804 def size redis.hlen rediskey end
Also aliased as: length
update(h={})
click to toggle source
# File lib/familia/redisobject.rb, line 877 def update h={} raise ArgumentError, "Argument to bulk_set must be a hash" unless Hash === h data = h.inject([]){ |ret,pair| ret << [pair[0], to_redis(pair[1])] }.flatten ret = redis.hmset(rediskey, *data) update_expiration ret end
Also aliased as: merge!
values()
click to toggle source
# File lib/familia/redisobject.rb, line 840 def values el = redis.hvals(rediskey) multi_from_redis *el end
values_at(*names)
click to toggle source
# File lib/familia/redisobject.rb, line 886 def values_at *names el = redis.hmget(rediskey, *names.flatten.compact) multi_from_redis *el end