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