-
-
Notifications
You must be signed in to change notification settings - Fork 94
Experimental in-memory files cache with eviction policy support #328
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+779
−25
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Review changes with SemanticDiff. Analyzed 13 of 20 files. Overall, the semantic diff is 10% smaller than the GitHub diff.
|
cd1cc6e
to
61daaac
Compare
635316b
to
5b224db
Compare
69668a6
to
936b224
Compare
c14666a
to
51e9c0a
Compare
Minimum Supported Rust Version (a.k.a. MSRV)
8a2f55e
to
fc4fe29
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
advanced-feature
Advanced feature only available via the configuration file
enhancement
New feature or request
experimental
This is an experimental feature
v2
v2 release
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.
Description
This PR adds support for in-memory cache functionality on-read to SWS via an advanced configuration entry.
The feature also supports expiration policies such as Time To Live (TTL) and Time To Idle (TTI).
Admission to a cache is controlled by the Least Frequently Used (LFU) policy and the eviction from a cache is controlled by the Least Recently Used (LRU) policy.
For details about the options supported, see the cache library docs.
Configuration example:
Note that this feature requires Rust 1.76.0 or newer.
Also, point out that this experimental feature could be subject to change in future releases.
Library usage
This work was added as part of the Cargo
experimental
feature. See #482.Related Issue
Motivation and Context
Resolves #242
How Has This Been Tested?
Screenshots (if appropriate):