feat: added exists and delete functions #6
Merged
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.
This pull request improves the functionality and documentation of the
AtomicCacheimplementation incache.goand its corresponding tests incache_test.go. The most significant changes include the addition of new methods for cache management, improvements to comments for clarity, and new test cases to ensure correctness.New Features:
Existsmethod to check if a record is present in the cache and still valid based on its expiration time.Deletemethod to remove a record from the cache, release its memory, and handle empty shards.Documentation Improvements:
cache.go, including descriptions for constants, structs, and methods likeSet,collectGarbage, andinitShardsSection. [1] [2] [3] [4] [5] [6] [7] [8]Test Enhancements:
TestCacheExiststest to verify the behavior of the newExistsmethod, including scenarios for unset, set, deleted, and never-set keys.TestCacheDeletetest to validate theDeletemethod, ensuring proper deletion behavior and error handling for non-existent keys.