欢迎使用CSDN-markdown编辑器
来源:互联网 发布:网络直播课堂 编辑:程序博客网 时间:2024/06/05 19:15
缓存失效 面对大量数据的请求,高并发,如何处理:
var select =function(callback){
db.select(“SQL”,function(result){
callback(result);
});
}
第一种办法 加入状态锁
var status=”ready”;
var select =function(callback){
if(status===”ready”){
status=”pending”;
db.select(“SQL”,function(result){
callback(result);
status=”ready”;
});
}
}
这种的话。。直接影响后续请求没有数据。。因此
第二种办法 事件队列
var proxy=new EventProxy();
var status=”ready”;
var select=function(callback){
proxy.once(“selected”,callback);
if(status===”ready”){
status=”pending”;
db.select(“SQL”,function(results){
proxy.emit(“selected”,result);
status=”ready”;
});
}
};
是不是很简单呢 用nodejs …
原理EventProxy 会把每次请求都压入事件队列
并且使用之后就会移除监听 保证只会执行一次 这样可以最大程度的确保数据库调用的重复开销
并且可以使用EventEmitter 来代替
但是要设置 setMaxListeners(0)来移除警告
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- PLC在机械手步进控制中的应用
- unity perfab 资源检查
- ELK+docker+nginx日志分析系统
- keepalived + lvs高可用web服务
- 杭电ACM2013:蟠桃记
- 欢迎使用CSDN-markdown编辑器
- 2017年4月14日读书笔记
- Android 开发中DatePicker、TimePicker
- 获取Android设备信息
- python常见的错误类型和继承关系
- IDEA执行spring boot 出现Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletCont
- 信用评测,评估
- A Survey of Appearance Models in Visual Object Tracking 阅读笔记(一)
- java基础day04