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 introduces the
GetAndTouch
method to the Client struct. TheGetAndTouch
method retrieves a cache item by its key and updates its expiration time, ensuring that the item remains valid in the cache for the specified duration.Changes:
Added Method:
GetAndTouch
This method calls
getAndTouchFromAddr
to perform the cache retrieval and expiration time update.If no item is found (i.e., item is nil), it sets the error to ErrCacheMiss.
Added Method:
getAndTouchFromAddr
This method constructs and sends the gat command to the cache server, including the expiration time and key.
It handles the server response and updates the item through the provided callback function.
Usage:
Use
GetAndTouch
to fetch a cache item and update its expiration time.Pass a negative expiration value to instantly delete the key from the cache after retrieving it. This approach saves two client calls—one for reading and one for deleting.
How to Use:
item, err := client.GetAndTouch("myKey", 3600)