Class: RedisBackend

Inherits:
Backend show all
Defined in:
lib/backend/redis.rb

Instance Method Summary collapse

Constructor Details

#initialize(redis = nil) ⇒ RedisBackend

Returns a new instance of RedisBackend.



5
6
7
# File 'lib/backend/redis.rb', line 5

def initialize(redis=nil)
  @redis = redis || Redis.new
end

Instance Method Details

#addblob(key, value) ⇒ Object



20
21
22
# File 'lib/backend/redis.rb', line 20

def addblob(key, value)
  @redis.set(key, value)
end

#addtree(treekey, keys) ⇒ Object



24
25
26
# File 'lib/backend/redis.rb', line 24

def addtree(treekey, keys)
  @redis.sadd(treekey, keys)
end

#delete(key) ⇒ Object



36
37
38
# File 'lib/backend/redis.rb', line 36

def delete(key)
  @redis.del(key)
end

#exists?(key) ⇒ Boolean

Returns:

  • (Boolean)


40
41
42
# File 'lib/backend/redis.rb', line 40

def exists?(key)
  @redis.exists(key)
end

#make_ref(name, key) ⇒ Object



32
33
34
# File 'lib/backend/redis.rb', line 32

def make_ref(name, key)
  @redis.set(name, key)
end

#ref(name) ⇒ Object



28
29
30
# File 'lib/backend/redis.rb', line 28

def ref(name)
  @redis.get(name)
end

#retrieve(key) ⇒ Object



9
10
11
12
13
14
15
16
17
18
# File 'lib/backend/redis.rb', line 9

def retrieve(key)
  type = @redis.type(key)

  case type
  when "string"
    @redis.get(key)
  when "set"
    @redis.smembers(key)
  end
end

#type(key) ⇒ Object



44
45
46
47
48
49
50
51
# File 'lib/backend/redis.rb', line 44

def type(key)
  case @redis.type(key)
  when "string"
    :blob
  when "set"
    :tree
  end
end