您的位置:首页 > 娱乐 > 明星 > 公司和企业的区别_wordpress官网地址_一键制作网站_整站优化关键词推广

公司和企业的区别_wordpress官网地址_一键制作网站_整站优化关键词推广

2024/10/5 16:27:01 来源:https://blog.csdn.net/dgiij/article/details/142485356  浏览:    关键词:公司和企业的区别_wordpress官网地址_一键制作网站_整站优化关键词推广
公司和企业的区别_wordpress官网地址_一键制作网站_整站优化关键词推广

设想这样一个场景:DB是集中管理的,新的应用系统会向DB服务器申请一个库来存放应用系统使用的若干表,应用系统也会包含有多个不同角色的服务器,可能它们还是由不同的开发小组负责,如果都直连DB其实也可以,不过也有其他方式降低对DB直连的依赖,比如应用中封装一个web接口来提供DB查询服务。这样可以对应用系统访问DB更好地集中控制。
接口启动后创建db连接池,每次收到web的db查询请求后从池中取连接,查询完后释放连接。
node.mysql的查询比较简单,像这样:
形式1:connection.query(sqlcmd,function (err, result) {…});
其中sqlcmd是完整的sql查询命令串
或者
形式2:connection.query(sqlcmd,args,function (err, result) {…});
其中args对应sqlcmd串中的占位符"?“或者”??"
其实可以用mysql.format()将形式2中sqlcmd和args两个参数生成形式1中完整的查询串,所以本质上也没有啥区别,不过我倾向于用户向web接口传命令串和参数两个参数,甚至只传args参数,所有命令串在接口服务器上定义,这样的好处是能更好地防注入。
另外还应该对查询做下限制,比如每次查询最多返回200条记录,多了应该分页
如果返回结果的字段较多,字符串编码直接返回的话,传输量较大,可以考虑db查询结果result采用protobuf编码后返回web请求端,在请求端protobuf解码,从而减少数据传输量。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com