GETSET (deprecated)
As of Redis version 6.2.0, this command is regarded as deprecated.
It can be replaced by SET with the GET argument when migrating or writing new code.
Syntax
GETSET key value
- Available since:
- 1.0.0
- Time complexity:
- O(1)
- ACL categories:
-
@write,@string,@fast,
Atomically sets key to value and returns the old value stored at key.
Returns an error when key exists but does not hold a string value. Any
previous time to live associated with the key is discarded on successful
SET operation.
Design pattern
GETSET can be used together with INCR for counting with atomic reset.
For example: a process may call INCR against the key mycounter every time
some event occurs, but from time to time we need to get the value of the counter
and reset it to zero atomically.
This can be done using GETSET mycounter "0":
Examples
RESP2 Reply
One of the following:
- Bulk string reply: the old value stored at the key.
- Nil reply: if the key does not exist.
RESP3 Reply
One of the following:
- Bulk string reply: the old value stored at the key.
- Null reply: if the key does not exist.