Spec-Zone.ru › Redis

GETSET

GETSET (deprecated)

Начиная с версии Redis 6.2.0, эта команда считается устаревшей.

Её можно заменить на SET с аргументом GET при миграции или написании нового кода.

Синтаксис
GETSET key value
Доступно с версии:
1.0.0
Временная сложность:
O(1)
Категории ACL:
@write, @string, @fast,

Атомарно устанавливает key в value и возвращает старое значение, хранившееся по адресу key. Возвращает ошибку, если key существует, но не содержит строковое значение. Любое ранее установленное время жизни ключа игнорируется при успешной операции SET.

Схема проектирования

GETSET можно использовать вместе с INCR для подсчёта со сбросом. Например: процесс может вызывать INCR по ключу mycounter каждый раз, когда происходит какое-либо событие, но время от времени необходимо получить значение счётчика и атомарно сбросить его в ноль. Это можно сделать с помощью GETSET mycounter "0":

INCR mycounter
GETSET mycounter "0"
GET mycounter

Возвращаемое значение

Строковый ответ: старое значение, хранившееся по адресу key, или nil если key не существовал.

Примеры

SET mykey "Hello"
GETSET mykey "World"
GET mykey

© 2006–2022 Salvatore Sanfilippo
Licensed under the Creative Commons Attribution-ShareAlike License 4.0.
https://redis.io/commands/getset/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API