1

有没有简单的方法来做到这一点?我有搜索工作......我有分页工作但不在一起

所以对我来说最简单的方法似乎只是缓存搜索结果,然后将控制器中的该集合作为要分页的集合。这有意义吗?

或者我应该如何从高层次上解决这个问题?(我来自 10 年的 ASP.NET 网络表单)

4

1 回答 1

1

缓存搜索结果提高了对结果数据进行分页的性能,但会消耗内存。如果搜索由多个用户完成,您需要为每个用户缓存搜索结果。根据要保存在内存中的潜在数据量,这可能可行,也可能不可行。(这种缓存应该在滑动/绝对过期的情况下短时间完成。)

每次需要为当前结果页面提供数据时进行搜索会产生更高的 CPU 负载,但不会在请求之间消耗内存。当然,对页面数据的请求必须携带搜索参数,这样才能重做搜索。

这是在 CPU 或内存上施加更多压力之间的通常折衷方案,由您决定选择什么。我会以较短的滑动过期时间(1 分钟)缓存结果,并且如果缓存的结果不存在,仍然可以确保可以再次执行搜索。

于 2013-01-28T22:33:24.023 回答