Class: LHC::Caching::MultilevelCache
- Inherits:
-
Object
- Object
- LHC::Caching::MultilevelCache
- Defined in:
- lib/lhc/interceptors/caching.rb
Instance Method Summary collapse
- #fetch(key) ⇒ Object
-
#initialize(central: nil, local: nil) ⇒ MultilevelCache
constructor
A new instance of MultilevelCache.
- #write(key, content, options) ⇒ Object
Constructor Details
#initialize(central: nil, local: nil) ⇒ MultilevelCache
Returns a new instance of MultilevelCache.
18 19 20 21 |
# File 'lib/lhc/interceptors/caching.rb', line 18 def initialize(central: nil, local: nil) @central = central @local = local end |
Instance Method Details
#fetch(key) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/lhc/interceptors/caching.rb', line 23 def fetch(key) central_response = @central[:read].fetch(key) if @central && @central[:read].present? if central_response puts %Q{[LHC] served from central cache: "#{key}"} return central_response end local_response = @local.fetch(key) if @local if local_response puts %Q{[LHC] served from local cache: "#{key}"} return local_response end end |
#write(key, content, options) ⇒ Object
36 37 38 39 |
# File 'lib/lhc/interceptors/caching.rb', line 36 def write(key, content, ) @central[:write].write(key, content, ) if @central && @central[:write].present? @local.write(key, content, ) if @local.present? end |