Class: MyStuff::Cache::MemcachedCache
- Defined in:
- lib/my_stuff/cache/memcached_cache.rb
Overview
Memcache-base cached.
If you want to use this, you know what it does.
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
- #get(keys, options = {}) ⇒ Object
-
#initialize(memcached, options = {}) ⇒ MemcachedCache
constructor
Create an instance of this cache.
- #set(values, options = {}) ⇒ Object
Methods inherited from Base
#get_with_fallback, #get_with_multi_fallback
Constructor Details
#initialize(memcached, options = {}) ⇒ MemcachedCache
Create an instance of this cache.
memcached is a Memcached object, provided by the memcached gem.
14 15 16 17 |
# File 'lib/my_stuff/cache/memcached_cache.rb', line 14 def initialize memcached, = {} @mc = memcached super end |
Instance Method Details
#get(keys, options = {}) ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'lib/my_stuff/cache/memcached_cache.rb', line 19 def get keys, = {} begin results = @mc.get(keys) unless keys.empty? keys.map{|k| results[k]} rescue Memcached::Error => e logger.warn e.inspect [nil] * keys.size end end |
#set(values, options = {}) ⇒ Object
29 30 31 32 33 34 35 36 37 38 |
# File 'lib/my_stuff/cache/memcached_cache.rb', line 29 def set values, = {} [:ttl] ||= 0 begin values.each do |k,v| @mc.set(k, v, [:ttl]) end rescue Memcached::Error => e logger.warn e end end |