【发布时间】:2014-10-20 18:58:30
【问题描述】:
我想在 Redis 中有一个数组(使用 Node),我可以在其中添加值并指定我希望它在那里停留多长时间。在那个时间限制之后,它们应该被删除,理想情况下能够调用一些东西,所以我知道刚刚剩下什么。前任。我可能会收到一个 120 秒的请求,所以我想将该值添加到地图中,然后将其删除。
有没有更好的方法来做到这一点?我想过使用 EXPIRE 但这似乎只是用于键,而不是数组中的元素?
任何想法都会很棒。
这就是我正在做的:
app.get('/session/:length', function(req, res) {
var length = parseInt(req.param('length'), 10);
addToArray(length, ip)
var ip = req.connection.remoteAddress;
res.json({ip: ip, length: length});
});
基本上,当我将它添加到数组时,我希望它仅在传入的时间内保留在数组中。因此,如果您说 30 秒,它会在该数组中保留 30 秒,然后消失,并调用回调。也许有更好的方法来解决这个问题?
我现在所做的是将添加的时间和 ip、时间保存在一个数组中,并定期循环检查和删除数组,但我认为在 redis 中可能会自动执行此操作。
【问题讨论】:
-
你有你想要做什么的例子吗?也许你到目前为止有什么?
标签: javascript node.js redis node-redis