Хороший способ убедиться, что срок действия установлен после нажатия клавиши, заключается в том, чтобы обернуть процесс в асинхронную функцию 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);
}
});
});
}