Метод 1: базовый SET
Основной синтаксис команды SET прост:
SET key value
Например:
SET username "john_doe"
Это устанавливает значение «john_doe» для ключа «имя пользователя».
Метод 2: SET с указанием срока действия
Вы также можете установить срок действия для пары ключ-значение с помощью параметра EXPIRE. Это полезно, если вы хотите, чтобы срок действия данных автоматически истекал через определенный период:
SET key value EXPIRE seconds
Например:
SET session_id "abc123" EXPIRE 3600
Это устанавливает идентификатор сеанса «abc123» со сроком действия 3600 секунд (1 час).
Метод 3: УСТАНОВИТЬ, если ключ не существует
Иногда вам может потребоваться установить значение только в том случае, если ключ еще не существует. Этого можно добиться с помощью команды SETNX (SET if Not Exists):
SETNX key value
Например:
SETNX email "john@example.com"
Это устанавливает адрес электронной почты «john@example.com», только если ключ «email» еще не существует.
Метод 4: SET с условным обновлением
В некоторых сценариях может потребоваться обновить значение только в том случае, если выполняется определенное условие. Для этой цели Redis предоставляет команде SET параметры NX (Not eXists) или XX (eXists):
SET key value NX
SET key value XX
Например:
SET total_votes 100 NX
Это устанавливает значение «total_votes» равным 100, только если ключ не существует.
Метод 5: SET с дополнительными параметрами
Команда Redis SET также предлагает дополнительные параметры, такие как PX (установка срока действия в миллисекундах) и XX (устанавливается только в том случае, если ключ уже существует). Вот пример:
SET key value PX milliseconds XX
Например:
SET session_id "abc123" PX 60000 XX
Это устанавливает идентификатор сеанса «abc123» со сроком действия 60 000 миллисекунд (60 секунд), только если ключ уже существует.
Команда SET Redis — это универсальный инструмент для управления парами «ключ-значение» с различными вариантами срока действия, условными обновлениями и многим другим. Понимая различные методы использования команды SET, вы сможете использовать возможности Redis и оптимизировать возможности кэширования и хранения вашего приложения.