【问题标题】:Revoke JWT session tokens with a blacklist. Should I create another system for the blacklist for performance?使用黑名单撤销 JWT 会话令牌。我应该为性能黑名单创建另一个系统吗?
【发布时间】:2018-10-30 14:58:44
【问题描述】:

我正在创建一个 Web 应用程序(在 C++ 中,为了提高性能),我期望每秒处理大量事件;数以千计。

我一直在阅读有关在我的网络会话中使 JWT 令牌无效的信息,对此最合理的解决方案是为列入黑名单的令牌提供一个存储位置。必须检查每个请求的列表,我想知道的是性能相关:我应该创建一个单独的系统来存储我列入黑名单的令牌(如 redis)吗?或者我应该只使用与其他一切相同的 PostgreSQL 数据库? 使用其他系统有什么优势?

我问的原因是我在网上看到很多关于使 JWT 令牌失效的讨论,并且很多人建议使用 redis(并且没有解释它是否只是与他们的设计相关的解决方案,或者它是否可以替代他们的 SQL数据库服务器出于某种原因)。那么,为什么不使用与您的 Web 应用程序相同的数据库呢?是否有理由让 redis 变得更好?

【问题讨论】:

    标签: postgresql performance session redis jwt


    【解决方案1】:

    Redis 速度要快得多,因为它存储在服务器的内存中,而不是打开与数据库的连接、查询并返回结果。因此,如果速度很重要,那么 Redis 就是您想要的。

    唯一的负面因素是如果服务器重新启动,列入黑名单的令牌就消失了。除非您将它们保存在磁盘上的某个地方。

    【讨论】:

      猜你喜欢
      • 2019-02-23
      • 2020-01-22
      • 2019-12-31
      • 2018-10-15
      • 2021-04-16
      • 2021-01-06
      • 2021-06-12
      • 2020-01-20
      • 2022-01-17
      相关资源
      最近更新 更多