[11.x] Fixed issue where Cache::forget() works differently if keys created with Cache::flexible when using Redis, DynamoDB, Memcached or Apc #52936
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.
See #52891.
Currently when calling
Cache::forget()
on any store, it will delete the cache item. Since the introduction ofCache::flexible()
two items are created, the cache item itself and a "created" key.For example:
When using the store
file
ordatabase
, both cache items will be deleted. But when using Redis, the'illuminate:cache:flexible:created:foo
will not be deleted.I've created this PR to address this issue and making sure all stores work the same way, deleting all created keys when
Cache::forget()
is being called.