我有一个平均每天获得5000次点击的网站。它在所有页面上都有自动填充搜索框。我的数据库中有大约5000个关键字,这些关键字会逐渐增长。 一旦用户将第三个字符输入到自动完成搜索框,我就会对ashx处理程序进行ajax调用。然后,Ashx处理程序从数据库中提取“以用户的查询开始”的所有关键字。
但我觉得这个过程很慢。我在考虑2个选项。
1。将关键字存储在xml文件中。然后使用XpathNavigator,Linq等任何技术处理此文件以进行关键字搜索。
2。将所有关键字存储到SortedList / Hashset对象中,并将此对象保存到缓存中。
我无法确定哪种选择对我来说是可行的。将整个对象保存到缓存中的性能开销或风险是什么?