2011-06-06 45 views
0

在我正在开发的网站上,我有一些“用户偏好”,我为我的返回注册用户保存了一些(例如,每页的产品摘要数显示)。我很好奇,如果在ASP.Net SQLServer会话状态下存储/检索这些数据有任何性能优势,或者直接从我的数据库中直接检索它。提前谢谢了!ASP.Net SQLServer会话状态与直接数据库访问

回答

0

只要数据不是太大,它始终会更好地将数据存储在会话状态(性能角度)。这样,您的生产数据数据库(您持久保存您的用户数据)的命中次数就会减少。只要确保用户不会改变他在会话中缓存的偏好。

会话的唯一潜在问题是会话按用户维护。所以,如果网站上的用户太多,会话状态会增加,但由于您正在使用SQL Server作为Session Store,因此您很擅长。如果你一直在使用InProc会话模式,你的会话将会在内存中(生产服务器上的一个关键资源!)

0

无论如何,你正在使用sql server。所以你不应该有一个明显的性能影响,并且如果使用sql server进行会话状态 - 你不必担心实现细节 - 因此可能更容易使用。但是没有 - 没有主要的好处。人们可能会认为这取决于你如何存储/查找你的信息,但对于大多数应用程序来说,这里的差异是完全可以忽略不计的 - 这取决于你如何实现。现在,如果你离开sql server会话状态,那么你有另一组问题需要关注(应用程序重置等),但这不在你问的范围:)