Redis
 sql >> база данни >  >> NoSQL >> Redis

Съхранение на върнатата стойност на node.js setTimeout в redis

Не можете да съхранявате обекта в Redis. setTimeout метод връща манипулатор (препратка към обект).

Една идея би била да създадете свой собствен асоциативен масив в паметта и да съхранявате индекса в Redis. Например:

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
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Системата не е заредена със systemd като инициална система (PID 1). Не може да оперира

  2. моите Redis ключове не изтичат

  3. StackExchange.Redis:Пакетен достъп за множество хешове

  4. Как да увеличим производителността на Redis, когато процесорът е 100%? Раздробяване? Най-бързият .Net клиент?

  5. Знаейки кога resque работникът е завършил работата