[12.x] Feature/cache flexible forever #57509
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
As a developer I would like to be able to use
Cache::foreverwith a flexible approach to trigger background refreshes.By definition,
Cache::forevernever automatically refreshes the value unless manually handled via application logic.Proposal
We add a
flexibleForeverutility method to cache Repository which can serve stale values while triggering deferred refreshing (leveraging the newCache::flexiblemethod).The new method exposes the same signature as
Cache::rememberwhile implementing a flexible version ofCache::foreverOf course the same result could be achieved at application level via registering a macro in
AppServiceProvideror via simply calling
Cache::flexiblewith a fixed, high upper ttl.