Django缓存简单的身份验证令牌

时间:2020-11-12 09:38:57

标签: django caching django-rest-framework redis auth-token

我有一个应用程序,它使用带有simple AuthToken的Django DRF,Postgres用于数据库,Redis用于缓存。

我正在尝试减少对数据库的调用次数,最常见的操作之一是在AuthToken表上执行SELECT。实际上,在受保护的端点上的每个请求都需要调用它,以验证用户的权限。

我们可以通过在Redis中将用户令牌缓存为{user_id: token}来减少对数据库的调用次数。

假设我们为密钥设置了适当的到期时间,并且在令牌TokenToken被撤消的情况下使密钥无效,则是否将auth令牌缓存为反模式?我应该关注任何安全性问题吗?大约吗?

1 个答案:

答案 0 :(得分:1)

  • 如果您不想进行数据库查找,则可以使用JWT。 JWT正在使用加密技术检查令牌。
  • 如果您想保留DRF令牌,可以对其进行缓存,但这会增加代码的复杂性。通过这些查询,您是否看到对数据库性能的巨大影响?
  • 如果您决定缓存令牌,请记住确保Redis的安全。
  • 我在样板和Django+React articles中使用DRF令牌。我喜欢这种方式,因为它可使代码/流程保持简单。