3

我对 Redis 有点陌生,但我想看看它是否可以用来跟踪我正在创建的并发 HTTP 连接数。

这是高级计划:

INCR requests
// request begins
HTTP.get(...)
// request ends
DECR.requests

然后在任何时候,只需打电话GET requests看看目前有多少是开放的。

这里的最终目标是限制我的 http 请求保持在任意数量以下,比如 50 个请求/秒。

这是正确的方法吗?有什么陷阱吗?

4

2 回答 2

0

我不清楚在这种情况下使用 redis 会获得什么。在我看来,在你的服务器中只使用一个全局变量会更合适。如果您的服务器出现故障,您的计数器也会出现故障,因此您不必放置复杂的东西来处理断开连接、不一致等问题......

于 2013-02-13T02:28:41.990 回答
0

至于陷阱,我唯一能看到的是,服务器出现故障或失去与 Redis 中间请求的连接可能永远不会调用DECR.

由于您不知道哪个服务器执行哪个请求,因此您永远无法将计数重置为正确的值,而不会使系统停止并重置为 0。

于 2013-02-05T15:42:49.890 回答