gpt4 book ai didi

c# - MMO 服务器 - 优化用户状态数据的数据库访问

转载 作者:搜寻专家 更新时间:2023-10-30 19:46:38 25 4
gpt4 key购买 nike

我正在使用以下技术和语言编写 MMO 服务器:.Net Framework 4、C#、SQL Server 2008 R2、实体数据模型、LINQ。

我的问题是关于如何以及何时访问用户状态数据的永久存储 (SQL Server) 以提高服务器性能。

过去,当用户登录到 MMO 服务器时,您会将所有用户数据加载到 RAM 中,以便在用户连接的生命周期内进行快速读/写访问。当用户从服务器注销时,该数据将保存到数据库中。

随着实体数据模型及其相关缓存的出现,是否还需要这种方法?什么时候应该 Context.SaveChanges();如果是这种情况会被调用吗?

如有任何关于我的问题的指导,我们将不胜感激。谢谢。

更多信息:我认为没有人在处理 .NET 实体模型的缓存能力。据我了解,.NET 实体数据库模型为您进行缓存,因此查询并不总是针对实际数据库运行,而是针对 RAM 中的数据运行。因此,从我的角度来看,我不必区分 RAM 数据访问和数据库访问。这是一个正确的假设吗?

最佳答案

我不是专家,但我会说坚持您的原始设计。您可能最终会占用更多内存来尝试保持上下文打开并让它在用户连接的生命周期内跟踪所有更改。我建议使用 POCO,在用户登录时加载对象,关闭上下文,然后当用户注销时,打开一个新的上下文,附加你的对象,然后保存更改。

关于c# - MMO 服务器 - 优化用户状态数据的数据库访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7041341/

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