降低即时搜索的服务器压力
来源:互联网 发布:linux file 头文件 编辑:程序博客网 时间:2024/05/18 03:53
在做即时搜索(就是像百度搜索输入文本框内容的时候自动搜索出类似的信息)的时候一般都是点击键盘触发搜索事件 一般用onkeydowm或onkeyup (也许onpropertychange是很好的,但可惜在ff和chorme下是不支持的)这样每次点击键盘就会搜索 如果有很多用户的情况下,那么服务器的压力是很大的 怎么办 只能减少提交搜索次数解决了下面这两个方法是文本框每次onkeyup的触发事件---Str是搜索关键字
AjaxSearch: function (Str) {
if (Str.trim() == "") { return false; }
if (NetHome.PostMessage.posting == false) { //NetHome.PostMessage.posting 一个判断是否在提交中的变量
NetHome.PostMessage.posting = true;
setTimeout("NetHome.Utility.AjaxSearching()", 1000);
}
},
AjaxSearching: function () {
var Str = $('#searchtxt').val().trim();//文本框的值
$.post("/Ajax/AjaxSearch", { SearchKey: Str }, function (Msg) {
//处理展示搜索内容的代码
}
NetHome.PostMessage.posting = false;
});
},
这样的效果就是 第一次触发提交事件的一秒后才执行提交搜索 搜索的关键字也是一秒后输入的关键字 并且在一次提交过程中,不会再接受其他提交事件 从而大大降低每次点击键盘都提交给服务器带来的压力
注意:setTimeout的第一个参数(待执行的代码)要当作字符串输入 并且代执行的代码
如果是有参数的方法 那么参数必须是全局变量(至少不能是在这个方法中定义的变量)
- 降低即时搜索的服务器压力
- 通过调用js文件降低服务器压力
- 即时搜索的方案
- 降低数据压力的几种解决方案
- 降低Web服务器的负载
- 搜索框即时搜索的实现
- 服务器的压力测试
- 特别的ViewState存储方式(降低客户端的压力)
- 库外计算降低数据仓库(DW)的扩容压力
- 即时搜索
- 即时搜索input propertychange的bug
- 即时搜索的input和propertychange方法
- 前端即时搜索的触发(input propertychange)
- 即时搜索的input和propertychange方法
- 后端服务器的压力测试
- 即时通信服务器架构的一些思考
- 即时通信服务器架构的一些思考
- 游承超:手机防爆膜可以降低手机的压力(15P)
- WP7-Windows Phone 7 培训总结
- Linux的分段和分页机制
- doc文档保护
- android兼容性测试CTS
- 用层叠管理多样式(Managing Multiple Styles: The Cascade)
- 降低即时搜索的服务器压力
- Linux内存布局
- vs 11 express 显示datapicker
- java对javascript语法分析
- [UVA 103] Stacking Boxes
- NET的优势与劣势
- Linux页框管理
- WP7-检查手机网络
- iphone中一些控件的默认尺寸