gpt4 book ai didi

node.js - Node Express session 计数

转载 作者:太空宇宙 更新时间:2023-11-04 01:09:16 25 4
gpt4 key购买 nike

我有一个应用程序,我需要限制事件连接的数量,对我来说最合乎逻辑的方法是简单地计算事件 session 的数量。

我搜索了“node express session count”,但没有找到任何有用的内容。

是否可以获取 Node Express 中打开的 session 数?

另一种方法是保存每个连接的客户端的 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);
});

最佳答案

使用Store.length(fn)方法。在默认的Connect内存存储中,是这样写的:

MemoryStore.prototype.length = function(fn) {
fn(null, Object.keys(this.sessions).length);
};

所以你可以这样调用它:

store.length(function(len) {
// we have len number of sessions
});

关于node.js - Node Express session 计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19566783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com