如何在Web API Asp.NET Core 5中持久化常用数据?
我正在使用ASP.NETCore5开发一个WebAPI服务。 如果用户登录,我将在每个请求上使用JWT令牌进行身份验证。对于客户端,我使用Next.js。 我正在寻找一种方法来保存经常使用的数据,如用户(userId、电子邮件、用户名、角色),而不必跳转到数据库。 我做了深入的研究,但大多数答案看起来都过时了。如何在Web API Asp.NET Core 5中持久化常用数据?,asp.net,asp.net-core,redis,jwt,asp.net-core-webapi,Asp.net,Asp.net Core,Redis,Jwt,Asp.net Core Webapi,我正在使用ASP.NETCore5开发一个WebAPI服务。 如果用户登录,我将在每个请求上使用JWT令牌进行身份验证。对于客户端,我使用Next.js。 我正在寻找一种方法来保存经常使用的数据,如用户(userId、电子邮件、用户名、角色),而不必跳转到数据库。 我做了深入的研究,但大多数答案看起来都过时了。 我寻找的一些替代方案 使用JWT有效负载保存用户对象。(看起来不太安全) 例如,使用缓存系统Redis(这看起来是最好的选择之一,但它耗时且需要大量资源) 你们还有其他建议吗 这是一个非
我寻找的一些替代方案
这是一个非常主观的话题,但这是我的两分钱:
谢谢你的回复,我们有相同的想法。您如何看待只将userId保存到JWT中并查询数据库以获取userInformation?我会说,这要视情况而定。这种方法当然有效,但根据应用程序的不同,其可伸缩性可能会有所不同。我用不同的应用程序都做过。如果这是一个相对低规模的情况,那么每次点击数据库获取用户信息可能不是什么大不了的事——而且这是直接和简单的。但对于大型应用程序,您的数据库将受到冲击,并可能成为一个瓶颈——特别是当您在每个请求中需要大量数据时。这就是缓存将起到很大作用的地方。您需要针对您的情况进行性能测试。