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.
Purpose
This PR addresses the issue of cache pollution that occurs when too many unique keys are generated, causing the cache to fill up with data that is rarely used. This is in response to the problem described in issue #17.
Approach
The solution involves modifying the buildCacheKey method to sort and normalise the
filterables
before generating the cache key. This ensures that the same set offilterables
, regardless of their order, will always generate the same cache key. This change is intended to reduce the number of unique keys and mitigate cache pollution issues.Learning
During the research stage, it was discovered that cache pollution often occurs when too many unique keys are generated. One way to mitigate this is to limit the number of unique filter combinations that can be cached. This can be done by sorting and normalising the
filterables
before generating the cache key. This approach is implemented in this PR.