gpt4 book ai didi

performance - 为 Web 应用程序存储登录用户信息的最佳方式是什么?

转载 作者:行者123 更新时间:2023-12-04 06:56:12 26 4
gpt4 key购买 nike

我曾经参与过一个基于 ASP.NET 开发的 Web 应用程序项目。对于每个登录用户,在 RAM 中创建并存储了一个对象(我们称之为 UserSessionObject 此处)。对于给定用户的每个 HTTP 请求,匹配 UserSessoinObject 实例用于访问用户状态信息和连接数据库。所以,这个 用户 session 对象 很重要。

这样的设计带来了后来发现的几个问题:

1) 自此 用户 session 对象 缓存在 ASP.NET 内存空间中,我们必须将负载均衡器配置为 粘连 .也就是说,单个 session 中的 HTTP 请求将始终发送到后面的一个 Web 服务器。这限制了可扩展性和可维护性。

2) 这个用户 session 对象 在每个 HTTP 请求中访问。为了保持一致性, 有一个排他锁。用户 session 对象 .在任何给定时间只能处理一个 HTTP 请求,因为它必须首先获得锁定。性能和响应时间受到影响。

现在,我想知道是否有更好的设计来处理此类登录用户案例。
似乎无共享架构有帮助。这意味着每次都从数据库中检索长用户信息。恐怕这会影响性能。

长用户网络应用程序是否有任何设计模式?
谢谢。

最佳答案

将 session 状态存储在数据库中,并将 memcached 放在其前面。

关于performance - 为 Web 应用程序存储登录用户信息的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2529195/

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