Nie możesz przechowywać obiektu w Redis. setTimeout
metoda zwraca Handler (odniesienie do obiektu).
Jednym z pomysłów byłoby utworzenie własnej tablicy asocjacyjnej w pamięci i przechowywanie indeksu w Redis. Na przykład:
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]);