feat: added support for gats
command
#188
Open
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.
Add support for
gats
command viaGetAndTouchWithCAS
Summary
This PR introduces support for the
gats
(Get and Touch with CAS) command in thegomemcached
client library by adding a new method:GetAndTouchWithCAS
.Motivation
The
gats
command allows clients to retrieve an item while updating its expiration time, with CAS (Check-And-Set) semantics. This is particularly useful when implementing optimistic concurrency control, ensuring that items haven't been modified or evicted between the time they are read and their expiration is updated.Changes
"gats"
command in the request to retrieve the item and update its TTL while fetching the CAS value.ErrCacheMiss
if the key is not found.Example Usage
Notes
GetAndTouch
behaviour but with CAS support.