代码之家  ›  专栏  ›  技术社区  ›  Frinavale

什么是“缓存”经常更改的搜索结果的最佳方法

  •  1
  • Frinavale  · 技术社区  · 15 年前

    我目前正在开发一个ASP.NET Intranet应用程序。此应用程序的一个功能允许用户搜索项目以管理它们(编辑、删除等)。

    目前我没有使用任何类型的缓存(因为搜索结果变化如此频繁);但是,当用户的搜索结果在大约4000个项目中时,系统需要大约13秒才能返回。因为搜索结果不会存储在页面请求之间,所以页面处理页面上的任何回发(排序、分页等)需要13秒。

    我一直在研究ASP.NET缓存,但我不认为它真正是为了缓存经常会发生变化的结果。

    我想知道的是缓存/存储搜索结果的最佳方法是什么?

    会议?(其他数据已经让它膨胀…)

    感谢您分享您的想法,

    -弗林尼

    3 回复  |  直到 15 年前
        1
  •  3
  •   CaffGeek    15 年前

    听起来更像你有两个问题。

    花13秒返回结果太长了。您需要优化该查询,并将其降低到一个子秒的响应。

    第二,你退回的物品太多了。如果他们在搜索,没有人会翻阅4000个项目。相反,如果他们得到这么大的结果集,他们应该改进他们的搜索条件。

        2
  •  0
  •   ChaosPandion    15 年前

    您不想显示无效数据。最好的办法是坚持分页,并使用Ajax快速访问服务器以获取下一页。

        3
  •  0
  •   Vinay Pandey    15 年前

    缓存频繁为我更改的数据听起来也不太好,使用适当的索引和分页来降低开销。