Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.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
Asp.net 我应该使用会话/缓存来存储数据集,还是每次都从数据库中获取新鲜数据?_Asp.net_.net_Session_Caching_Dataset - Fatal编程技术网

Asp.net 我应该使用会话/缓存来存储数据集,还是每次都从数据库中获取新鲜数据?

Asp.net 我应该使用会话/缓存来存储数据集,还是每次都从数据库中获取新鲜数据?,asp.net,.net,session,caching,dataset,Asp.net,.net,Session,Caching,Dataset,制作数据集所需的编码量通常非常大。现在,我不确定在处理来自多个ASP.NET页面的数据请求时,行业标准或最佳实践是什么。我应该使用缓存/会话将数据集从一页传递到另一页,还是应该直接从数据库获取每页的数据 这里最常见的方法是什么?这取决于您的需要。如果数据大小非常大,则不要将其保存在会话或Cahce中,因为会话或缓存存储在服务器内存中。会话是特定于用户的,它将在服务器中存储每个用户的数据,因此避免使用它。我认为您应该在每次需要时直接获取数据,而不是将其保存在会话中。如果数据非常小/有限,则可以将其

制作数据集所需的编码量通常非常大。现在,我不确定在处理来自多个ASP.NET页面的数据请求时,行业标准或最佳实践是什么。我应该使用缓存/会话将数据集从一页传递到另一页,还是应该直接从数据库获取每页的数据


这里最常见的方法是什么?

这取决于您的需要。如果数据大小非常大,则不要将其保存在会话或Cahce中,因为会话或缓存存储在服务器内存中。会话是特定于用户的,它将在服务器中存储每个用户的数据,因此避免使用它。我认为您应该在每次需要时直接获取数据,而不是将其保存在会话中。如果数据非常小/有限,则可以将其保存在会话中(例如用户名或用户ID等)。如果您使用gridview显示数据,则使用分页,并在每个页面请求上从数据库获取数据。

这取决于您的需要。如果数据大小非常大,则不要将其保存在会话或Cahce中,因为会话或缓存存储在服务器内存中。会话是特定于用户的,它将在服务器中存储每个用户的数据,因此避免使用它。我认为您应该在每次需要时直接获取数据,而不是将其保存在会话中。如果数据非常小/有限,则可以将其保存在会话中(例如用户名或用户ID等)。如果您使用gridview显示数据,则使用分页,并在每个页面请求上从数据库中获取数据。

以下是我的想法:

这取决于数据库和您试图获取的数据类型,以及可能修改数据的内容。您是否有与您想要的数据同时运行的后端进程?此数据是否仅因当前页面而更新,还是完全更新?有多少人将使用该页面

我个人几乎总是打电话到数据库,只是因为在这类事情上有太多的假设。在任何时候,数据都可能发生变化;它从来不像人们想象的那样静止。我个人会在任何一天用正确的数据来交换性能

但那只是我个人。这个问题是如此开放,以至于不可能把每一件事都考虑进去,因为我不知道您的数据库结构,也不知道检索它的成本有多高,也不知道您在使用它做什么


对不起,我实在帮不了你

以下是我的想法:

这取决于数据库和您试图获取的数据类型,以及可能修改数据的内容。您是否有与您想要的数据同时运行的后端进程?此数据是否仅因当前页面而更新,还是完全更新?有多少人将使用该页面

我个人几乎总是打电话到数据库,只是因为在这类事情上有太多的假设。在任何时候,数据都可能发生变化;它从来不像人们想象的那样静止。我个人会在任何一天用正确的数据来交换性能

但那只是我个人。这个问题是如此开放,以至于不可能把每一件事都考虑进去,因为我不知道您的数据库结构,也不知道检索它的成本有多高,也不知道您在使用它做什么


对不起,我实在帮不了你

您必须权衡数据更改的频率与检索数据的成本。在不知道这一点的情况下,我不确定是否有人能够回答。您必须权衡数据更改的频率与检索数据的成本。不知道这一点,我不确定是否有人能回答。你如何定义“非常大”?我知道这在很大程度上取决于web服务器的配置,但相对估计应该会有很大帮助。如何定义“非常大”?我知道这在很大程度上取决于web服务器的配置,但相对估计应该会有很大帮助。