sql >> Database >  >> NoSQL >> Redis

De geretourneerde waarde van node.js setTimeout opslaan in redis

U kunt het object niet opslaan in Redis. De setTimeout methode retourneert een Handler (objectreferentie).

Een idee zou zijn om uw eigen associatieve array in het geheugen te maken en de index op te slaan in Redis. Bijvoorbeeld:

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


  1. Redis is single-threaded, hoe doet het dan gelijktijdige I/O?

  2. WiredTiger en interne updates

  3. verschil tussen aggregaat ($ match) en vinden, in MongoDB?

  4. Selecteer records die overeenkomen met de concat-waarde van twee velden in mongodb