Redis
 sql >> Base de données >  >> NoSQL >> Redis

Stockage de la valeur de retour de node.js setTimeout dans redis

Vous ne pouvez pas stocker l'objet dans Redis. Le setTimeout renvoie un Handler (référence d'objet).

Une idée serait de créer votre propre tableau associatif en mémoire et de stocker l'index dans Redis. Par exemple :

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