sql >> Base de Datos >  >> NoSQL >> Redis

Almacenar el valor de retorno de node.js setTimeout en redis

No puede almacenar el objeto en Redis. El setTimeout método devuelve un controlador (referencia de objeto).

Una idea sería crear su propia matriz asociativa en la memoria y almacenar el índice en Redis. Por ejemplo:

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]);