这是我在这里发布的第一个问题,我已就该主题进行了一些搜索,但我找不到确切的答案。
在我当前的项目中,我正在从多个数据库表构建一个对象列表。我目前正在将它们存储在用户会话中(Global.asax / Session_Start),如下所示。
protected void Session_Start()
{
Session.Add("listeOF", new ListOf());
}
这是有效的,我可以使用这些数据,但我想知道是否有更好的存储方式(更好的意思是更快的访问)。我在控制器中调用这些数据。
谢谢!
答案 0 :(得分:0)
你需要一些其他数据存储来保持它在回发请求之间,所以如果它对应用程序是全局的,你可以使用应用程序缓存,但如果它是特定于用户的,那么会话就可以了。如果没有涉及那么多数据并且它不像读取那么密集,您可能需要考虑缓存一大块数据是否有好处而不是在需要时重新查询它。 / p>
为了获得更高级的效果并展示更多涉及的替代方案,CQRS implementation is a possibility(也see this);这个想法有一个数据容器用于事务数据,另一个用于读取(无论是单独的数据库或表,还是文档数据库作为一些可能性)。