Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 缓存整个结果集还是基于用户?_C#_Asp.net - Fatal编程技术网

C# 缓存整个结果集还是基于用户?

C# 缓存整个结果集还是基于用户?,c#,asp.net,C#,Asp.net,在我的web应用程序中,我分别为每个用户显示了统计数据 例如,发表的文章,今天发表的文章,由…开始的文章等等 每个用户都有自己的特殊统计数据 使用缓存中的一个巨大数据表和所有用户的全部数据,然后循环使用Think DataTable来查找特定用户数据或缓存每个用户(即cacheObj+userID),哪种方法更灵活和“正确” 用户可以根据日期和类型筛选自己的结果,这就是为什么我需要灵活可靠的解决方案 谢谢…最简单的方法就是在会话状态下缓存每个用户的结果。它对每个用户都是唯一的。当他们第一次登录/

在我的web应用程序中,我分别为每个用户显示了统计数据 例如,发表的文章,今天发表的文章,由…开始的文章等等

每个用户都有自己的特殊统计数据

使用缓存中的一个巨大数据表和所有用户的全部数据,然后循环使用Think DataTable来查找特定用户数据或缓存每个用户(即cacheObj+userID),哪种方法更灵活和“正确”

用户可以根据日期和类型筛选自己的结果,这就是为什么我需要灵活可靠的解决方案


谢谢…

最简单的方法就是在会话状态下缓存每个用户的结果。它对每个用户都是唯一的。当他们第一次登录/访问它时,计算结果并将其存储在那里。这样,您也不必一直在内存中缓存所有用户信息。您只需为当前登录的用户存储它

会话imho的数据太多,这就是我尝试使用缓存的原因。。。我也不知道会话和缓存之间有什么区别,因为它们都存储在内存中。会话i通常使用OutOfProc模式存储在其他机器上。因此,您的建议是为每个用户保存数据,而不是保存所有数据—会话状态,就像为每个用户存储的应用程序状态一样。我会为每个用户存储它,这样您就不必每次访问数据时都从out-of-proc模式中提取所有信息(假设您将所有数据存储在一个数据表中)。