Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.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# API-缓存可分页、可排序和可搜索的数据库结果_C#_Api_Caching - Fatal编程技术网

C# API-缓存可分页、可排序和可搜索的数据库结果

C# API-缓存可分页、可排序和可搜索的数据库结果,c#,api,caching,C#,Api,Caching,是否有一种最佳做法可以缓存可以排序、分页和搜索的数据库结果 例如,缓存是否可行,例如: 第二页帖子, 页面长度为10, “foo”的搜索查询, 按日期递减排序? 我正在.NET Core中编写一个web API,使用MemoryCache进行缓存。在应用程序内存中缓存数据有一些缺点,比如可伸缩性。 当您的应用程序有两个实例时,您会发现您的自缓存相同的数据两次,并且会消耗内存。在某些情况下,数据位于一个实例的缓存中,而不是另一个实例的缓存中 不要使用应用程序内存,而是使用Redis之类的东西。它有

是否有一种最佳做法可以缓存可以排序、分页和搜索的数据库结果

例如,缓存是否可行,例如:
第二页帖子,
页面长度为10,
“foo”的搜索查询,
按日期递减排序?


我正在.NET Core中编写一个web API,使用MemoryCache进行缓存。

在应用程序内存中缓存数据有一些缺点,比如可伸缩性。 当您的应用程序有两个实例时,您会发现您的自缓存相同的数据两次,并且会消耗内存。在某些情况下,数据位于一个实例的缓存中,而不是另一个实例的缓存中

不要使用应用程序内存,而是使用Redis之类的东西。它有一些数据结构,如列表、排序集

您可以在redis上将键设置为“pageNumber searchQuery”,并将结果设置为值

请看排序集:


谢谢。那么页面长度呢?可以在缓存后处理排序。