Принимает ли ioredis mset() параметры для установки срока действия, как это делает операция set?

Вот мой код:

const Redis = require('ioredis');
const client = new Redis();
// multi set
client.mset({'key1': 'value1'});

Вопрос в том, принимает ли операция mset параметры для установки TTL, как это делает команда set?

// образец для множества

client.set(key, value, 'EX', 10);

person jagadeesh m    schedule 03.09.2020    source источник


Ответы (1)


Нет. MSET используется вместо just для установки нескольких значений для ключей. Как видно из реализации, нет возможности установить срок действия ключей. Другой вариант MSETNX также не поддерживает необязательное истечение срока действия.

Вам нужно выполнить команду EXPIRE для каждого ключа, который вы установили в MSET. Другим вариантом может быть выполнение их в транзакции или полный отказ от MSET, но использование SETEX (или SET с опцией EX) для каждого ключа.

person Ersoy    schedule 03.09.2020
comment
Спасибо за информацию. Я понял это из документации. Раздражает, почему они не позволяют установить срок действия при выборе нескольких клавиш. - person jagadeesh m; 07.02.2021