Команда Redis INCR используется для увеличения значения ключа на единицу. Чтобы эта команда работала, значение, связанное с ключом, должно быть целым числом. Если указанный ключ не существует, его значение устанавливается на 0 перед выполнением команды.
Хотя операция применяется к целочисленным значениям, Redis не имеет определенного целочисленного типа данных. Следовательно, значение, которое необходимо увеличить, является строковым типом, который может быть представлен как 64-битное целое число со знаком в формате base-10.
Давайте обсудим, как мы можем использовать эту команду.
Основное использование
Синтаксис команды может быть выражен как:
127.0.0.1:6379> INCR key
Команда принимает ключ в качестве аргумента и возвращает новое значение после операции увеличения.
Например, начните с создания ключа, как показано:
127.0.0.1:6379> SET age 23
OK
Затем запустите команду INCR на ключе «age».
127.0.0.1:6379> INCR age
(integer) 24
Команда возвращает значение возраста после увеличения на единицу.
Следует иметь в виду, что команда изменяет значение ключа на месте. Следовательно, значение ключа — это значение после операции приращения.
Например:
127.0.0.1:6379> GET age
«24»
Команда DECR
Если у вас есть команда для увеличения значения на единицу, должна быть команда для уменьшения на единицу, верно? да. Ты прав.
Redis также предоставляет вам команду DECR для уменьшения значения на единицу. Она работает очень похоже на команду INCR, поскольку принимает ключ, содержащий целочисленное значение, и возвращает значение после уменьшения.
Синтаксис может быть выражен как:
127.0.0.1:6379> DECR key
Давайте посмотрим на простой пример:
Начните с создания простого ключа как:
127.0.0.1:6379> SET number 1000
OK
Затем уменьшите значение с помощью команды DECR:
127.0.0.1:6379> DECR number
(integer) 999
Как мы уже упоминали, команды INCR и DECR работают с целочисленными значениями. Redis возвращает ошибку, как показано ниже, если вы используете команды с нецелым значением.
127.0.0.1:6379> SET nonInt «Hello»
127.0.0.1:6379> INCR nonInt
(error) ERR value is not an integer or out of range
Команды INCRBY / DECRBY
Предположим, вы хотите увеличить значение на определенное целочисленное значение. Например, если вы собираетесь увеличить значение на 5 с помощью команды INCR, вам придется повторно запустить команду пять раз.
Чтобы решить эту проблему, вы можете использовать команды INCRBY и DECRBY для увеличения или уменьшения значения на определенный коэффициент соответственно.
Синтаксис следующий:
127.0.0.1:6379> INCRBY key increment
Команды принимают ключ и значение приращения в качестве аргументов.
Например:
127.0.0.1:6379> SET sample 1500
127.0.0.1:6379> INCRBY sample 1000
(integer) 2500
Команды вернут значение после операций увеличения или уменьшения.
Заключение
Для работы с Redis хорошо держать под рукой команды увеличения и уменьшения. Используя это руководство, вы узнали, как работают команды и как использовать их в базе данных Redis.