Você não pode armazenar o objeto no Redis. O
setTimeout
retorna um Handler (referência de objeto). Uma ideia seria criar seu próprio array associativo na memória e armazenar o índice no Redis. Por exemplo:
var nextTimerIndex = 0;
var timerMap = {};
var timer = setTimeout(function(timerIndex) {
console.log('Ding!');
// Free timer reference!
delete timerMap[timerIndex];
}, 5 * 1000, nextTimerIndex);
// Store index in Redis...
// Then, store the timer object for later reference
timerMap[nextTimerIndex++] = timer;
// ...
// To clear the timeout
clearTimeout(timerMap[myTimerIndex]);