我将 Perl Catalyst 与Catalyst::Plugin::Session::State::Cookie
and一起使用Catalyst::Plugin::Session::Store::Redis
。我最多有 2,000 个用户登录,但我的 Redis 存储中有超过 200 万个密钥。
大多数身份验证都是通过 API 密钥完成的。我想知道是否每个 API 调用都创建并存储了一个新会话(API 调用中可能没有 cookie),或者网站的所有新访问者是否都会自动创建一个会话。
看起来一个解决方案是默认设置一个非常短的到期时间(几分钟),并在用户通过 Web 界面登录时用更长的到期时间覆盖它。
我想知道这是将存储的会话数限制在最低限度的最佳方法。