![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mongoDB
文章平均质量分 77
final
坚强的走下去 辉煌的站起来
展开
-
mongodb C driver的异步查询
最近在选用NOSQL数据库的时候最终选择了mongdb, 感觉其各方面都很优秀, 于是为服务器增加了一组mongodb的接口, 以方便LUA逻辑层使用. 驱动方面选用了官方指定的C DRIVER, 大家有兴趣的可以直接去mongodb的官网上查找, 不过查看了其mongo_find接口发现为同步调用, 这在服务器并发应用方面会受到限制, 通常服务器为了提高并发处理效率会使用异步接口. 开始的时候比较偷懒, 在其官网上留言想让其driver开发人员帮忙添加异步调用接口, 这事情也就先放下了... 2天过原创 2011-04-02 03:12:00 · 4849 阅读 · 1 评论 -
mongodb 异步查询(续)
承接前一篇, 服务器采用C编写, 逻辑层使用LUA, 搭配开源mongodb c driver开发异步查询接口. 有了上一次的改造, 这次来说说是如何使用改造后的接口实现异步查询. 首先, 再来理清一下思路, 现在的一次完整同步查询被拆分成3个步骤: 1.创建并发送请求 2.接受返回结果消息头 3.接受返回结果数据并做相应的回调处理 为此我们需要2个结构来处理这个过程: typedef struct { int type; mongo原创 2011-04-08 02:53:00 · 5753 阅读 · 1 评论 -
mongodb 压力测试问题
昨晚在做压力测试的时候, 同步查询经过了4亿次的调用没有发现问题.. 平均每秒5000次查询请求. 但是在异步查询时, 发现了一个奇怪的现象, 数据库链接buf很快就处于阻塞状态... 导致请求都堆积在缓冲里... 很快数据库就会抛出一个断言错误... : [conn25] Assertion: 10334:Invalid BSONObj size: 0 (0x00000000) first element: est.user: ?type=1160x55ece9 0x4ede7e 0x5396d8原创 2011-04-10 14:13:00 · 4646 阅读 · 2 评论 -
mongodb 增加数据库连接
<br /> 只是一篇记录性的, 没有任何技术可言...<br /> 昨天下午由于建立一条数据库连接造成数据库连接断开... 无奈之举, 我建立了更多的连接用于异步查询, 这回数据库倒是很乖巧了... 不过引擎呈现莫名其妙的波动.... 导致我不得不放慢客户端发送频率... 后续还有待查证具体原因...原创 2011-04-11 10:05:00 · 1112 阅读 · 0 评论 -
非侵入式mongodb async find patch
<br /> 前阵子为mongodb的cdriver添加了一个async find补丁, 不过简陋的将源码插入其中.. , 觉得怎么看怎么别扭... 如果官方更新了... 就容易悲剧了, 所以, 为了自己不用老是跟着改动, 就单独的将patch分离出来, 没什么技术含量, 仅仅作为记录.<br /> <br /> mongo_async.h<br /> //base info: create by final/*effect: mongo db async query patch***原创 2011-04-19 23:31:00 · 1656 阅读 · 0 评论