我有 2 个 node.js 网络服务器。我在网络服务器中缓存数据。我根据系统时间同步缓存加载/清除。我已经完成了所有主机的时间同步。
现在我使用以下代码每 15 分钟清除一次缓存:
millisTillNexthour = "Calculate millis remaining until next hour"
setTimeout(function() {
setInterval(function() {
cache.clear();
}, 60000*15);
}, millisTillNexthour);
我的期望是,即使这个过程永远运行,缓存也会在一天中的每个小时的第 15 分钟被清除一次。
我的问题是:setInterval 会随时间漂移吗?
例如:现在它清除缓存10:00 10:15 10:30 10:45 11:00 ......
会不会发生 setInterval 不是 10:15 系统时间,而是在 10:20 系统时间执行,而它应该在 10:15 清除缓存?
我不确定这是如何工作的。请阐明一些观点。我希望我能很好地解释我的问题。