我有一个应用程序需要限制活动连接的数量,而对我来说最合乎逻辑的方法是简单地计算活动会话的数量。
我搜索了“节点快速会话计数”,但没有找到任何有用的东西。
是否可以在 node express 中获取打开会话的数量?
另一种方法是保存每个连接的客户端的 IP 地址,但这种方法的问题是需要手动从数据存储中删除 IP 地址。
我想如果我使用 redis 作为数据存储,我可以使用 expire 来实现类似的东西。
set ip.192.168.42.1 true
expire ip.192.168.42.1 60
ttl ip.192.168.42.1
etc etc
或者,还有更好的方法 ?
编辑
我已经尝试过使用 MemoryStore 的建议,但我似乎无法弄清楚如何使用它??
var express = require("express");
var MemoryStore = express.session.MemoryStore;
MemoryStore.prototype.length = function(fn) {
fn(null, Object.keys(this.sessions).length);
};
MemoryStore.length(function(len) {
console.log('sessions:'+len);
});