gpt4 book ai didi

asp.net - 使用 Redis 作为 session 状态提供者

转载 作者:可可西里 更新时间:2023-11-01 11:12:00 26 4
gpt4 key购买 nike

我想用 ASP.Net 创建真正的 RESTful API。根据 REST 架构。应用程序必须是无状态的。这意味着我不能使用正常 session 。我找到了一份文件 here描述如何使用 Redis 作为 session 状态提供者。由于它是外部的(因为不是服务器的一部分),它是否适合创建无状态 API?我将如何去做。我会创建一个 key 来声明用户已通过身份验证,然后创建一个 key 来引用当前用户,还是我想错了?

最佳答案

您可以将 Redis 用作缓存来保存有关用户的各种状态。这个想法是,当用户登录时,您可能需要从数据库中加载一堆关于他们的信息(姓名、地址等),您知道用户可能需要重用其中的一些信息信息,因此您不想每次都从数据库中重新加载它。相反,您可以将其缓存在 Redis 中几分钟,这样在用户的下一个请求时,您可以非常快速地从 Redis 中提取数据,而不必返回到您的数据库。

对于身份验证,您可以在 redis 缓存中创建一个临时 token ,您还可以将其作为 cookie 返回给用户,以便您可以在后续请求中检查它是否存在,而不需要运行一堆耗时的 bcrypt每次后续身份验证的散列或一些类似的。

这一切都保持无状态,因为即使缓存出于某种原因不可用,用户的请求仍然包含回答他或她的请求所需的所有状态。 Redis 所做的只是让您在可用时加快响应速度。

关于asp.net - 使用 Redis 作为 session 状态提供者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30793415/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com