繁体   English   中英

ASP.NET聊天应用程序数据存储

[英]ASP.NET chat app data storing

我正在尝试使用ASP .NET为聊天应用程序创建Web api,但我始终无法存储所有发送的消息。

在本教程中, https://pusher.com/tutorials/chat-aspnet/作者将所有消息存储在一个DB中。 他们用此行找到与一个对话框相关的所有消息:

conversations = db.Conversations.Where(c => (c.receiver_id == currentUser.id 
                                  && c.sender_id == contact) || 
                                  (c.receiver_id == contact 
                                  && c.sender_id == currentUser.id))
    .OrderBy(c => c.created_at).ToList();

而且我发现这种方法太慢了。 我进行了一些计算,发现如果您有100个活跃用户,每个用户发送大约30条消息,那么一年中将有100万条消息。 每次循环遍历一百万行将使应用程序像糖蜜一样缓慢运行。

我仍然发现使用实体框架与DB一起使用对我来说很方便。

那么,存储诸如消息之类的数据数组的正确方法是什么呢? 每个对话都应该是一个单独的数据库吗? 如果是,是否可以使用Entity Framework自动创建它们? 也许会有更好的解决方案?

提前致谢

PS我想创建一个ASP .NET核心应用程序(如果有区别的话)

一百万条记录是花生。 您为什么认为这太慢? 正如Trailmax所说的那样:关系数据库获取所需的记录应该很简单,因为您的索引和键要花很多时间。

忽略以下内容。 我没有正确考虑,如果您真的想成为负责存储服务器端人员之间的对话的人,您还应该考虑什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM