jQuery自动完成的服务器端缓存策略?

Jos*_*ood 5 sql-server asp.net-mvc jquery jquery-ui autocomplete

我正在我的网站上实现几个标记字段,包括使用jquery UI插件的自动完成选项.我有一切正常工作,虽然小部件本身并不像我希望的那样健壮(例如,有没有办法使列表中的第一项始终突出显示),但它现在可以使用.

我的问题是处理服务器端对自动完成数据的请求.现在我正在使用AJAX来检索所提供输入术语的潜在匹配.我正在点击的表中有大约10,000条记录,而我的想法是,我可以只在服务器上的共享/静态属性中缓存这些记录的列表(我正在使用ASP),而不是不断地查询该表. NET MVC与SQL Server后端的方式)和查询该列表而不是.我会每4个小时更新一次清单,只是为了让它保持最新状态.

这个想法显然是为了减轻我的SQL服务器的压力,并最大限度地提高自动完成下拉的性能. 我最终想知道的是,在我的服务器上保留10,000个值的列表/数组是不好的做法; 这里有一个已知的限制/阈值吗? 我的服务器有2GB的RAM,无论如何都可能需要很快升级.

任何建议将不胜感激.

谢谢你的时间!

Joe*_*nos 2

10,000 个小字符串应该不会太糟糕 - 我以前就这样做过,没有明显的副作用。

我建议在没有内存项目的情况下运行您的应用程序,然后再次运行,并在 Windows 的任务管理器中查看内存和 CPU 使用情况,只是为了了解您真正使用了多少内存 - 这将有所帮助确定它是否会在以后造成问题。

但每次访问数据库可能也不会那么糟糕 - 除非您有大量流量,否则影响可能可以忽略不计。