class Collectr::RedisHash
Attributes
store[R]
Public Class Methods
new(name, options={})
click to toggle source
# File lib/collectr/redis/redis_hash.rb, line 9 def initialize(name, options={}) @title = name # Use raw only when both the keys and values are strings. @raw = options.fetch(:raw) { false } @store = Redis.current @expires_in = options[:expires_in] end
Public Instance Methods
[](key)
click to toggle source
# File lib/collectr/redis/redis_hash.rb, line 17 def [](key) deserialize @store.hget(@title, serialize(key)) end
[]=(key, val)
click to toggle source
# File lib/collectr/redis/redis_hash.rb, line 21 def []=(key, val) @store.hset @title, serialize(key), serialize(val) end
cache(key, options={}) { |key| ... }
click to toggle source
# File lib/collectr/redis/redis_hash.rb, line 38 def cache(key, options={}) result = self[key] if result.nil? and block_given? result = yield key self[key] = result else raise KeyError end result end
clear()
click to toggle source
# File lib/collectr/redis/redis_hash.rb, line 88 def clear destroy # keys.each{ |key| delete key } end
delete(key)
click to toggle source
# File lib/collectr/redis/redis_hash.rb, line 53 def delete(key) @store.hdel @title, serialize(key) end
destroy()
click to toggle source
# File lib/collectr/redis/redis_hash.rb, line 49 def destroy @store.del @title end
empty?()
click to toggle source
# File lib/collectr/redis/redis_hash.rb, line 57 def empty? size == 0 end
fetch(key, options={}) { |key| ... }
click to toggle source
# File lib/collectr/redis/redis_hash.rb, line 25 def fetch(key, options={}) result = self[key] if result.nil? return nil if has_key?(key) if block_given? result = yield key else raise KeyError end end result end
has_key?(key)
click to toggle source
# File lib/collectr/redis/redis_hash.rb, line 65 def has_key?(key) key? key end
key?(key)
click to toggle source
# File lib/collectr/redis/redis_hash.rb, line 68 def key?(key) @store.hexists @title, serialize(key) end
keys()
click to toggle source
# File lib/collectr/redis/redis_hash.rb, line 72 def keys @store.hkeys(@title).collect{ |key| deserialize key } end
size()
click to toggle source
# File lib/collectr/redis/redis_hash.rb, line 61 def size @store.hlen @title end
to_hash()
click to toggle source
# File lib/collectr/redis/redis_hash.rb, line 80 def to_hash hash = {} @store.hgetall(@title).each do |key, val| hash[deserialize(key)] = deserialize(val) end hash end
values()
click to toggle source
# File lib/collectr/redis/redis_hash.rb, line 76 def values keys.collect{ |key| self[key] } end