perf(cache): Optimize cache by removing null attributes #4569
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.
Context
We heavily rely on caching for improving the current usage performance. We do so by caching the fees as aggregating the events for fee calculating can be quite costly and impactful on the database resource.
While investigating, we noticed that the cached fees are stored with null attributes which can actually be removed before storing them.
Description
This removes the null attributes before storing the fees into cache. We explicitly define which attributes are compactable and which are not to avoid losing information. For instance, the
grouped_byshould keep thenilvalues.We also reduced the
compress_thresholdto ensure that compacted cache entries will still be compressed.