Module: ActiveSupport::Cache::Strategy::LocalCache
- Defined in:
- activesupport/lib/active_support/cache/strategy/local_cache.rb,
activesupport/lib/active_support/cache/strategy/local_cache_middleware.rb
Overview
Caches that implement LocalCache will be backed by an in-memory cache for the duration of a block. Repeated calls to the cache for the same key will hit the in-memory cache for faster access.
Defined Under Namespace
Modules: LocalCacheRegistry Classes: LocalStore, Middleware
Instance Method Summary collapse
-
#cleanup(options = nil) ⇒ Object
:nodoc:.
-
#clear(options = nil) ⇒ Object
:nodoc:.
-
#decrement(name, amount = 1, options = nil) ⇒ Object
:nodoc:.
-
#delete_matched(matcher, options = nil) ⇒ Object
:nodoc:.
-
#increment(name, amount = 1, options = nil) ⇒ Object
:nodoc:.
-
#middleware ⇒ Object
Middleware class can be inserted as a Rack handler to be local cache for the duration of request.
-
#with_local_cache(&block) ⇒ Object
Use a local cache for the duration of block.
Instance Method Details
#cleanup(options = nil) ⇒ Object
:nodoc:
81 82 83 84 85 |
# File 'activesupport/lib/active_support/cache/strategy/local_cache.rb', line 81 def cleanup( = nil) # :nodoc: return super unless cache = local_cache cache.clear() super end |
#clear(options = nil) ⇒ Object
:nodoc:
75 76 77 78 79 |
# File 'activesupport/lib/active_support/cache/strategy/local_cache.rb', line 75 def clear( = nil) # :nodoc: return super unless cache = local_cache cache.clear() super end |
#decrement(name, amount = 1, options = nil) ⇒ Object
:nodoc:
104 105 106 107 108 109 110 111 112 113 |
# File 'activesupport/lib/active_support/cache/strategy/local_cache.rb', line 104 def decrement(name, amount = 1, = nil) # :nodoc: return super unless local_cache value = bypass_local_cache { super } if write_cache_value(name, value, raw: true, **) else write_cache_value(name, value, raw: true) end value end |
#delete_matched(matcher, options = nil) ⇒ Object
:nodoc:
87 88 89 90 91 |
# File 'activesupport/lib/active_support/cache/strategy/local_cache.rb', line 87 def delete_matched(matcher, = nil) # :nodoc: return super unless cache = local_cache cache.clear() super end |
#increment(name, amount = 1, options = nil) ⇒ Object
:nodoc:
93 94 95 96 97 98 99 100 101 102 |
# File 'activesupport/lib/active_support/cache/strategy/local_cache.rb', line 93 def increment(name, amount = 1, = nil) # :nodoc: return super unless local_cache value = bypass_local_cache { super } if write_cache_value(name, value, raw: true, **) else write_cache_value(name, value, raw: true) end value end |
#middleware ⇒ Object
Middleware class can be inserted as a Rack handler to be local cache for the duration of request.
69 70 71 72 73 |
# File 'activesupport/lib/active_support/cache/strategy/local_cache.rb', line 69 def middleware @middleware ||= Middleware.new( "ActiveSupport::Cache::Strategy::LocalCache", local_cache_key) end |
#with_local_cache(&block) ⇒ Object
Use a local cache for the duration of block.
63 64 65 |
# File 'activesupport/lib/active_support/cache/strategy/local_cache.rb', line 63 def with_local_cache(&block) use_temporary_local_cache(LocalStore.new, &block) end |