struct Cache::MemoryStore(K, V)
- Cache::MemoryStore(K, V)
- Cache::Store(K, V)
- Struct
- Value
- Object
Overview
A cache store implementation which stores everything into memory in the same process.
cache = Cache::MemoryStore(String, String).new(expires_in: 1.minute)
cache.fetch("today") do
Time.now.day_of_week
end
Defined in:
cache/stores/memory_store.crConstructors
Instance Method Summary
-
#fetch(key : K, *, expires_in = @expires_in, &)
Fetches data from the cache, using the given
key
. - #read(key : K)
- #write(key : K, value : V, *, expires_in : Time::Span = @expires_in)
Instance methods inherited from struct Cache::Store(K, V)
fetch(key : K, *, expires_in = @expires_in, &)
fetch,
initialize
initialize
Constructor methods inherited from struct Cache::Store(K, V)
new
new
Constructor Detail
Instance Method Detail
def fetch(key : K, *, expires_in = @expires_in, &)
#
Description copied from struct Cache::Store(K, V)
Fetches data from the cache, using the given key
. If there is data in the cache
with the given key
, then that data is returned.
If there is no such data in the cache, then a block
will be passed the key
and executed in the event of a cache miss.
Setting :expires_in
will set an expiration time on the cache.
All caches support auto-expiring content after a specified number of seconds.
This value can be specified as an option to the constructor (in which case all entries will be affected),
or it can be supplied to the #fetch
or #write
method to effect just one entry.
cache = Cache::RedisStore(String, String).new(expires_in: 1.hours)
# Set a lower value for one entry
cache.fetch("today", expires_in: 10.minutes) do
Time.now.day_of_week
end