【发布时间】:2011-06-07 07:56:50
【问题描述】:
在我正在开发的网站上,我为返回的注册用户保留了一些“用户偏好”(例如,每页要显示的产品摘要数量)。我很好奇在 ASP.Net SQLServer 会话状态中存储/检索这些数据是否有任何性能优势,而不是根据需要直接从我的数据库中检索它。非常感谢!
【问题讨论】:
标签: asp.net sql-server-2008 session-state
在我正在开发的网站上,我为返回的注册用户保留了一些“用户偏好”(例如,每页要显示的产品摘要数量)。我很好奇在 ASP.Net SQLServer 会话状态中存储/检索这些数据是否有任何性能优势,而不是根据需要直接从我的数据库中检索它。非常感谢!
【问题讨论】:
标签: asp.net sql-server-2008 session-state
只要数据不是太大,将数据存储在会话状态(性能角度)总是更好。这样,您的生产数据数据库(您在其中保存 UserData)的点击量就会减少。只要确保用户不会更改缓存在会话中的偏好。
会话唯一的潜在问题是会话是按用户维护的。因此,如果您的网站上有太多用户,会话状态会增加,但由于您使用 SQL Server 作为会话存储,因此您很擅长。如果您一直在使用 InProc SessionMode,您的 Session 将一直在内存中(生产服务器上的关键资源!)
【讨论】:
无论如何,您都在使用 sql server。所以你不应该有明显的性能影响,而且如果使用 sql server 来处理会话状态——你不必太担心实现细节——因此可能会更容易使用。但是没有 - 没有主要好处。有人可能会争辩说,这取决于您如何存储/查找您的信息,但对于大多数应用程序来说,这里的差异绝对可以忽略不计——这取决于您要如何实现。现在,如果您离开 sql server 会话状态,那么您还有另一组问题需要关注(应用程序重置等),但这不在您所问的范围内:)
【讨论】: