在 redis 滑动 window 速率限制器实现中重命名此键的目的是什么?

What is the purpose of renaming this key in a redis sliding window rate limiter implementation?

我正在查看第 11 行 redis-rate-limiter library here 的源代码。

通过 exec,使用“10/分钟”rate/duration:

在这里重命名有什么意义?

这是一种刷新速率限制器计数器的方法。如果真实密钥不存在,它将临时密钥重命名为真实密钥,即 renamenx.

如果真实密钥存在,则增加当前计数器,看是否达到当前时间的速率限制window。但是,如果真实密钥不存在,则表示上一次window,例如1分钟,已经过去了,我们需要开始新的时间window,即新的计时。所以我们将临时密钥(时间window作为过期时间)重命名为真实密钥,并在这个新的真实密钥上增加。