Class: Waves::Caches::Memcached

Inherits:
Simple show all
Defined in:
lib/caches/memcached.rb

Instance Method Summary collapse

Methods inherited from Simple

#[], #[]=, #exists?

Constructor Details

#initialize(args) ⇒ Memcached

Returns a new instance of Memcached.

Raises:

  • (ArgumentError)


6
7
8
9
# File 'lib/caches/memcached.rb', line 6

def initialize( args )
  raise ArgumentError, ":servers is nil" if args[ :servers ].nil?
  @cache = ::Memcached.new( args[ :servers ], args[ :options ] || {} )
end

Instance Method Details

#clearObject



25
26
27
# File 'lib/caches/memcached.rb', line 25

def clear
  cache = @cache.clone;  cache.flush;  cache.destroy
end

#delete(key) ⇒ Object



21
22
23
# File 'lib/caches/memcached.rb', line 21

def delete( key )
  cache = @cache.clone; cache.delete( key.to_s );  cache.destroy
end

#fetch(key) ⇒ Object



15
16
17
18
19
# File 'lib/caches/memcached.rb', line 15

def fetch( key )
  cache = @cache.clone;  cache.get( key.to_s );  cache.destroy
rescue ::Memcached::NotFound => e
  nil
end

#store(key, value, ttl = 0, marshal = true) ⇒ Object



11
12
13
# File 'lib/caches/memcached.rb', line 11

def store( key,value, ttl = 0, marshal = true )
  cache = @cache.clone;  cache.add( key.to_s, value, ttl, marshal );  cache.destroy
end