首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >缓存与会话的优势

缓存与会话的优势
EN

Stack Overflow用户
提问于 2009-01-09 16:06:12
回答 6查看 78.1K关注 0票数 72

在Session中存储datatable与在Cache中存储datatable有什么区别?优点和缺点是什么?

因此,如果它是一个简单的搜索页面,它在datatable中返回结果并将其绑定到网格视图。如果用户'a‘搜索和用户'b’搜索,最好将其存储在会话中,因为每个用户最有可能有不同的结果,或者我仍然可以将他们的每个搜索存储在cache中,或者这没有意义,因为只有一个Cache。我猜基本上我想说的是缓存是否会被覆盖。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-01-09 16:14:16

一个重要的区别是,缓存中的项可以在指定的时间后过期(将从缓存中删除)。放入会话中的项将一直保留在那里,直到会话结束。

当可用内存量变小时,ASP.NET还可以从缓存中删除项目。

另一个区别是:会话状态可以保持在外部(状态服务器、SQL服务器),并在web应用程序的多个实例之间共享(用于负载平衡)。缓存的情况并非如此。

除了这些区别(正如其他人所指出的):会话是按用户/会话的,而缓存是按应用程序的。

票数 85
EN

Stack Overflow用户

发布于 2009-01-09 16:10:54

Cache在Application作用域中,其目的是减少获取数据的次数。会话位于用户的会话作用域中,目的是提供特定的用户状态。

票数 5
EN

Stack Overflow用户

发布于 2009-01-09 16:12:11

这取决于你如何为ASP.NET配置会话。你是在数据库中存储会话还是在内存中存储会话?如果在内存中,您使用的是单独的服务器,还是使用当前的for服务器进行会话?

根据如何为您设置内容,当您使用datatable之类的东西时,可能会影响性能,这告诉我您可能正在存储大量数据。

此外,如果用户不接受cookie并且您已将ASP.NET设置为无cookie模式,则每个用户都会存储会话,并通过存储在会话cookie中或网址上的会话票证来检索会话。您缓存的任何内容都将在应用程序级别缓存,并可供所有用户会话使用,这些用户会话可能是您想要的,也可能不是。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/428634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档