Как установить время истечения для hmset в узле redis? - PullRequest
0 голосов
/ 26 декабря 2018

Раньше я делал client.setex(key, 900, value) для хранения одного значения ключа.
Но я хочу сохранить объект со сроком действия.
Я придумала функцию hmset, но я не знаюкак сделать время истечения.
Я хочу использовать его для хранения контекста и текста текущего чата в разговоре.
Пожалуйста, помогите

Ответы [ 2 ]

0 голосов
/ 12 июня 2019

Хороший способ убедиться, что срок действия установлен после нажатия клавиши, заключается в том, чтобы обернуть процесс в асинхронную функцию ES6:

async function (keyString, token, ttl) {
        return new Promise(function(resolve, reject) {
            redisClient.hmset("auth", keyString, token, function(error,result) {
                if (error) {
                    reject(error);
                } else {
                    redisClient.expire(keyString, ttl)
                    resolve(result);
                }
            });
        });
    }
0 голосов
/ 26 декабря 2018

Для истечения срока действия хэша (или любого другого ключа Redis), введите команду EXPIRE.В вашем случае:

client.hmset(key, ...
client.expire(key, 9000)
...