在会话和缓存中存储数据表有什么区别?优点和缺点是什么?
因此,如果它是一个以DataTable形式返回结果并将其绑定到网格视图的简单搜索页面.如果用户‘a’搜索和用户‘b’搜索,最好将其存储在会话中,因 for each 用户很可能有不同的结果,或者我是否仍然可以将他们的每个搜索存储在Cache中,或者这是否没有意义,因为只有一个缓存.我想基本上我想说的是缓存是否会被覆盖.
在会话和缓存中存储数据表有什么区别?优点和缺点是什么?
因此,如果它是一个以DataTable形式返回结果并将其绑定到网格视图的简单搜索页面.如果用户‘a’搜索和用户‘b’搜索,最好将其存储在会话中,因 for each 用户很可能有不同的结果,或者我是否仍然可以将他们的每个搜索存储在Cache中,或者这是否没有意义,因为只有一个缓存.我想基本上我想说的是缓存是否会被覆盖.
一个重要的区别是,缓存中的项目可能会在指定的时间后过期(将从缓存中删除).放入会话中的项目将一直保留在那里,直到会话结束.
当可用内存量变小时,ASP.NET还可以从缓存中删除项目.
另一个区别是:会话状态可以保持在外部(状态服务器、SQL server),并在web应用的多个实例之间共享(用于负载平衡).缓存的情况并非如此.
除了这些差异(正如其他人所指出的):会话是每个用户/会话的,而缓存是每个应用程序的.