Module: Cache::Memcached

Defined in:
lib/cache/memcached.rb

Instance Method Summary collapse

Instance Method Details

#_delete(k) ⇒ Object



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

def _delete(k)
  thread_metal.delete k
rescue ::Memcached::NotFound
end

#_exist?(k) ⇒ Boolean

Returns:

  • (Boolean)


29
30
31
32
33
34
# File 'lib/cache/memcached.rb', line 29

def _exist?(k)
  thread_metal.get k
  true
rescue ::Memcached::NotFound
  false
end

#_flushObject



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

def _flush
  thread_metal.flush
end

#_get(k) ⇒ Object



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

def _get(k)
  thread_metal.get k
rescue ::Memcached::NotFound
  # oh well
end

#_get_multi(ks) ⇒ Object



12
13
14
# File 'lib/cache/memcached.rb', line 12

def _get_multi(ks)
  thread_metal.get ks
end

#_set(k, v, ttl) ⇒ Object



16
17
18
# File 'lib/cache/memcached.rb', line 16

def _set(k, v, ttl)
  thread_metal.set k, v, ttl
end

#_statsObject



36
37
38
# File 'lib/cache/memcached.rb', line 36

def _stats
  thread_metal.stats
end

#cas(k, ttl = nil, &blk) ⇒ Object

native



41
42
43
44
45
# File 'lib/cache/memcached.rb', line 41

def cas(k, ttl = nil, &blk)
  handle_fork
  thread_metal.cas k, extract_ttl(ttl), &blk
rescue ::Memcached::NotFound
end

#thread_metalObject



2
3
4
# File 'lib/cache/memcached.rb', line 2

def thread_metal
  ::Thread.current["#{@pid}/#{self.class.name}/#{object_id}/thread_metal"] ||= @metal.clone
end