Module: Cache::Memcached

Defined in:
lib/cache/memcached.rb

Instance Method Summary collapse

Instance Method Details

#_cas(k, ttl, &blk) ⇒ Object



24
25
26
27
28
29
30
31
32
# File 'lib/cache/memcached.rb', line 24

def _cas(k, ttl, &blk)
  if _valid_ttl?(ttl)
    thread_metal.cas k, ttl, &blk
  else
    thread_metal.cas k, &blk
  end
rescue ::Memcached::NotFound
  return nil
end

#_delete(k) ⇒ Object



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

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

#_exist?(k) ⇒ Boolean

Returns:

  • (Boolean)


44
45
46
47
48
49
# File 'lib/cache/memcached.rb', line 44

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

#_flushObject



40
41
42
# File 'lib/cache/memcached.rb', line 40

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
  return nil
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
19
20
21
22
# File 'lib/cache/memcached.rb', line 16

def _set(k, v, ttl)
  if _valid_ttl?(ttl)
    thread_metal.set k, v, ttl
  else
    thread_metal.set k, v
  end
end

#_statsObject



51
52
53
# File 'lib/cache/memcached.rb', line 51

def _stats
  thread_metal.stats
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