Class: Moneta::Memcache

Inherits:
Object
  • Object
show all
Includes:
Defaults
Defined in:
lib/moneta/memcache.rb

Instance Method Summary collapse

Methods included from Defaults

#fetch

Constructor Details

#initialize(options = {}) ⇒ Memcache

Returns a new instance of Memcache.



15
16
17
# File 'lib/moneta/memcache.rb', line 15

def initialize(options = {})
  @cache = MemCache.new(options.delete(:server), options)
end

Instance Method Details

#[](key) ⇒ Object



25
26
27
# File 'lib/moneta/memcache.rb', line 25

def [](key)
  @cache.get(key)
end

#[]=(key, value) ⇒ Object



29
30
31
# File 'lib/moneta/memcache.rb', line 29

def []=(key, value)
  store(key, value)
end

#clearObject



49
50
51
# File 'lib/moneta/memcache.rb', line 49

def clear
  @cache.flush_all
end

#delete(key) ⇒ Object



33
34
35
36
37
# File 'lib/moneta/memcache.rb', line 33

def delete(key)
  value = self[key]
  @cache.delete(key) if value
  value
end

#key?(key) ⇒ Boolean Also known as: has_key?

Returns:

  • (Boolean)


19
20
21
# File 'lib/moneta/memcache.rb', line 19

def key?(key)
  !self[key].nil?
end

#store(key, value, options = {}) ⇒ Object



39
40
41
42
# File 'lib/moneta/memcache.rb', line 39

def store(key, value, options = {})
  args = [key, value, options[:expires_in]].compact
  @cache.set(*args)
end

#update_key(key, options = {}) ⇒ Object



44
45
46
47
# File 'lib/moneta/memcache.rb', line 44

def update_key(key, options = {})
  val = self[key]
  self.store(key, val, options)
end