我有一个在 ASP.Net 中构建的具有自动建议功能的搜索模块。搜索条件是培训名称,并且数据库中有一个存储培训的表。表中的训练规模将高达 30,000 次,因此我在选择方法时必须非常小心,同时牢记性能。
可能有大约 3000 个用户同时登录系统。当用户开始输入培训名称时,系统应自动建议。
我想到的方法如下
缓存对象 - 用户键入 3 个(例如 saf)字符后会出现数据库命中,系统将在活动表中搜索所有以 saf 开头的训练并缓存它们。其他请求将通过此缓存。但是这种方法的问题是,如果有 3000 个并发用户在使用系统,并且如果他们都搜索 3 个不同字母的不同组合,那么缓存就会被破坏。
客户端缓存 - 对此没有多想。我在这里看到的唯一缺点是我们可能必须定期清除临时 Internet 文件夹。
使用 Session - 我想完全排除这种情况,因为我认为它会影响性能。
您能否建议我可以在这里采取的最佳或任何其他不同的方法。我正在寻找您对此的所有信息/想法。
太感谢了
迪帕。