Class: Stacks::Backends::KeyValueBackend

Inherits:
Object
  • Object
show all
Includes:
Backend
Defined in:
lib/stacks/backends/key_value_backend.rb

Instance Method Summary collapse

Methods included from Backend

#fill, #get_or_set, #key, #prefix_key, #prefix_keys, #suffix_key

Instance Method Details

#backend_keyObject



5
6
7
# File 'lib/stacks/backends/key_value_backend.rb', line 5

def backend_key
  "kv"
end

#del(item) ⇒ Object



21
22
23
# File 'lib/stacks/backends/key_value_backend.rb', line 21

def del(item)
  Stacks.redis.del(key(item))
end

#expire(item, ttl) ⇒ Object



25
26
27
# File 'lib/stacks/backends/key_value_backend.rb', line 25

def expire(item, ttl)
  Stacks.redis.expire(key(item), ttl)
end

#get(item) ⇒ Object



9
10
11
12
13
# File 'lib/stacks/backends/key_value_backend.rb', line 9

def get(item)
  potential_value = Stacks.redis.get(key(item))
  raise Stacks::NoValueException unless potential_value
  Marshal.load(potential_value) if potential_value
end

#set(item) ⇒ Object



15
16
17
18
19
# File 'lib/stacks/backends/key_value_backend.rb', line 15

def set(item)
  value = item.value
  Stacks.redis.set(key(item), Marshal.dump(value))
  value
end