Deprecation notice: as of Redis version 6.2.0 this command is considered as deprecated. While it is unlikely that it will be completely removed, prefer using `SET` with the `!GET` argument in its stead.
value and returns the old value stored at
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
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":
(integer) 1redis> GETSET mycounter "0"
"1"redis> GET mycounter
Bulk string reply: the old value stored at
key did not exist.
"OK"redis> GETSET mykey "World"
"Hello"redis> GET mykey